@{^CAPTURE}

一个数组,它暴露了最后一个成功模式匹配的捕获缓冲区的内容(如果有),不包括已经退出的嵌套块中匹配的模式。

请注意,@{^CAPTURE} 的索引 0 等效于 $1,索引 1 等效于 $2,等等。

if ("foal"=~/(.)(.)(.)(.)/) {
    print join "-", @{^CAPTURE};
}

应该输出 "f-o-a-l"。

另请参阅 "$<digits> ($1, $2, ...)""%{^CAPTURE}""%{^CAPTURE_ALL}"

请注意,与大多数其他正则表达式魔术变量不同,@{^CAPTURE} 没有单字母等效项。还要注意,在插值此数组的下标时,您**必须**使用分隔变量形式,例如

print "${^CAPTURE[0]}"

有关此形式及其用法的更多信息,请参阅 "perldata 中使用大括号的分隔变量名"

此变量在 5.25.7 中添加。