(1) How does Perl disambiguate (a) exactly 1 occurence of $x and (b) the hash value $x{1}?my $x = "(quantifier)"; my %x = ( "1" => "(hash_value)" ); my $z = 'quantifier hash_value'; print "_$1_\n" if $z =~ /$x{1}/; # {1} is quantifier print "_$1_\n" if $z =~ /@{[$x{1}]}[0]/; # {1} is hash key __END__ _quantifier_ _hash_value_
(2) You can see that Perl chooses (a) for /$x{1}/. If I want (b), is there a better way than @{[$x{1}]}[0]?
(3) If we had it to do over, is there a better way for Perl to resolve this?
-QM
--
Quantum Mechanics: The dreams stuff is made of
In reply to Hash Key vs. Quantifier Ambiguity in Regex Context by QM
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |