Tie::Hash::NamedCapture(3p) Perl Programmers Reference Guide

Tie::Hash::NamedCapture(3p) Perl Programmers Reference Guide #

Tie::Hash::NamedCapture(3p) Perl Programmers Reference Guide

NNAAMMEE #

 Tie::Hash::NamedCapture - Named regexp capture buffers

SSYYNNOOPPSSIISS #

     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 %-

DDEESSCCRRIIPPTTIIOONN #

 This module is used to implement the special hashes "%+" and "%-", but it
 can be used to tie other variables as you choose.

 When the "all" parameter is provided, then the tied hash elements will be
 array refs listing the contents of each capture buffer whose name is the
 same as the associated hash key. If none of these buffers were involved
 in the match, the contents of that array ref will be as many "undef"
 values as there are capture buffers with that name. In other words, the
 tied hash will behave as "%-".

 When the "all" parameter is omitted or false, then the tied hash elements
 will be the contents of the leftmost defined buffer with the name of the
 associated hash key. In other words, the tied hash will behave as "%+".

 The keys of "%-"-like hashes correspond to all buffer names found in the
 regular expression; the keys of "%+"-like hashes list only the names of
 buffers that have captured (and that are thus associated to defined
 values).

 This implementation has been moved into the core executable, but you can
 still load this module for backward compatibility.

SSEEEE AALLSSOO #

 perlreapi, re, "Pragmatic Modules" in perlmodlib, "%+" in perlvar, "%-"
 in perlvar.

perl v5.36.3 2021-03-02 Tie::Hash::NamedCapture(3p)