Tie::Hash::NamedCapture - 命名式正規表示式擷取緩衝區
tie my %hash, "Tie::Hash::NamedCapture";
# %hash now behaves like %+
tie my %hash, "Tie::Hash::NamedCapture", all => 1;
# %hash now access buffers from regexp in $qr like %-
此模組用於實作特殊雜湊 %+
和 %-
,但也可以用於繫結其他變數(視您的選擇而定)。
如果提供了 all
參數,則繫結的雜湊元素將會是陣列參考,列出每個擷取緩衝區的內容,其名稱與關聯的雜湊金鑰相同。如果這些緩衝區中沒有任何一個參與比對,則該陣列參考的內容將會是與具有該名稱的擷取緩衝區一樣多的 undef
值。換句話說,繫結的雜湊將會表現得像 %-
。
如果省略了 all
參數或為 false,則繫結的雜湊元素將會是具有關聯雜湊金鑰名稱的最左邊已定義緩衝區的內容。換句話說,繫結的雜湊將會表現得像 %+
。
類似 %-
的雜湊的金鑰對應於正規表示式中找到的所有緩衝區名稱;類似 %+
的雜湊的金鑰僅列出已擷取(因此與已定義值關聯)的緩衝區名稱。
此實作已移至核心可執行檔,但您仍可載入此模組以維持向後相容性。
perlreapi、re、perlmodlib 中的「實用模組」、perlvar 中的「%+"、perlvar 中的「%-"。