in reply to Re^4: Two hash keys created when '.' is in the string
in thread Two hash keys created when '.' is in the string

You're right, it only resets them on a successful match, not on an attempted match. But it will overwrite all of them if there's a successful match, even if the match doesn't include any parens. So if the string /css/ matches, $2 will be undef, and in that case the code won't work right.

Replies are listed 'Best First'.
Re^6: Two hash keys created when '.' is in the string
by eric256 (Parson) on Nov 24, 2004 at 19:07 UTC

    /me eats his words.

    You are 100% correct. Here is an example (that I had to run to beleive it).

    my $test = "Hello world!"; print "Matched\n" if $test =~ /(Hello)/; print "\$1 = $1\n"; print "Matched\n" if $test =~ /world/; print "\$1 = $1\n"; __DATA__ Matched $1 = Hello Matched $1 =

    ___________
    Eric Hodges