類似於 @+
,%+
hash 允許存取命名擷取緩衝區(如果存在),在目前動態範圍內最後一次成功配對中。(請參閱 "Regex 變數的範圍規則")。
例如,在下列配對之後,$+{foo}
等於 $1
'foo' =~ /(?<foo>foo)/;
%+
hash 的鍵僅列出已擷取(並因此與已定義的值關聯)的緩衝區名稱。
如果多個不同的擷取群組有相同的名稱,則 $+{NAME}
將參考配對中最左邊已定義的群組。
%+
的底層行為是由 Tie::Hash::NamedCapture 模組提供的。
注意: %-
和 %+
是與最後一次成功的正規表示式相關聯的共用內部 hash 的繫結檢視。因此,透過 each
混合反覆存取它們可能會產生無法預測的結果。同樣地,如果最後一次成功的配對改變,則結果可能會令人驚訝。
此變數已新增至 Perl v5.10.0。%{^CAPTURE}
別名已新增至 5.25.7。
此變數為唯讀,且其值為動態範圍。