From: Monty <[EMAIL PROTECTED]> > Thanks for all the replies, both in this group and in separate e- > mails. > > Things have been cleared up. My major misunderstanding was in the > fact that $1, $2, etc. can exist outside the RegEx. I previously > thought they had to be confined to the expression itself. Through > some experimenting I find they no longer exist once the block defined > by the 'while' statement is complete. I presume they'll get redefined > with another RegEx, but I've yet to experiment on that.
The assignment to $1 and friends is local()ized to the current block: "abc" =~ /.(.)./; print "top level \$1=$1\n"; { "123" =~ /.(.)./; print "in block \$1=$1\n"; } print "top level again \$1=$1\n"; once you leave the block in which the match occurred, the $1, $2, ... gets reassigned to whatever value it had before the block. Jenda ===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz ===== When it comes to wine, women and song, wizards are allowed to get drunk and croon as much as they like. -- Terry Pratchett in Sourcery -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/