perl中“keys%+”的含义是什么?

时间:2013-06-03 18:36:27

标签: perl

简短的问题:什么意思

keys %+

在perl?

我在一些源代码中看到了它。

3 个答案:

答案 0 :(得分:5)

哈希%+包含当前范围内正则表达式中命名捕获组的所有匹配项。 %LAST_PAREN_MATCH在{{1}}下解释,并在5.10中添加。

  

与@ +类似,%+ hash允许访问命名捕获   缓冲区,如果它们存在,则在最后一次成功匹配中   目前活跃的动态范围。 [..]

perlvar函数列出了散列中的所有键。

答案 1 :(得分:5)

每当你看到一个看起来很常见的变量时,请在perldoc perlvar中查找。

在这种情况下,%+是存储与最后一个正则表达式的命名捕获相对应的值的哈希:

  

@+类似,%+哈希允许访问命名捕获   缓冲区,如果它们存在,则在最后一次成功匹配中   目前活跃的动态范围。例如,$+{foo}相当于   在以下匹配后$1

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

有关详细信息,请参阅perldoc perlretut

答案 2 :(得分:4)

这些文档是您想要的:

perldoc -f keys

perldoc -v %+