QM has asked for the wisdom of the Perl Monks concerning the following question:
(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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Hash Key vs. Quantifier Ambiguity in Regex Context
by jarich (Curate) on Apr 01, 2004 at 00:08 UTC | |
by QM (Parson) on Apr 01, 2004 at 00:24 UTC | |
|
Re: Hash Key vs. Quantifier Ambiguity in Regex Context
by kvale (Monsignor) on Apr 01, 2004 at 00:20 UTC | |
|
Re: Hash Key vs. Quantifier Ambiguity in Regex Context
by borisz (Canon) on Apr 01, 2004 at 00:13 UTC |