%{^CAPTURE}
%LAST_PAREN_MATCH
%+

类似于 @+%+ 哈希允许访问命名捕获缓冲区(如果存在),这些缓冲区位于当前活动动态作用域中的最后一次成功匹配中。(参见 "正则表达式变量的作用域规则")。

例如,$+{foo} 等同于以下匹配后的 $1

'foo' =~ /(?<foo>foo)/;

%+ 哈希的键仅列出已捕获(因此与已定义值相关联)的缓冲区的名称。

如果多个不同的捕获组具有相同的名称,则 $+{NAME} 将引用匹配中最左侧的已定义组。

%+ 的底层行为由 Tie::Hash::NamedCapture 模块提供。

注意:%-%+ 是与最后一个成功正则表达式关联的公共内部哈希的绑定视图。因此,通过 each 对它们进行迭代访问可能会产生不可预测的结果。同样,如果最后一个成功匹配发生变化,则结果可能出乎意料。

此变量在 Perl v5.10.0 中添加。%{^CAPTURE} 别名在 5.25.7 中添加。

此变量是只读的,其值是动态作用域的。