Wow, what amazing discovery, somebody should perlbug this in a hurry
The bug is that it breaks $1 and m//atching operator, and it doesn't warn...
$ perl -wle " $_ = 333; for $1 ( 666 ){ print $1 if /(...)/; }" 666 $ perl -wle " $_ = 333; for $1 ( 666 ){ local our $1; print $1 if /(. +..)/; }" Use of uninitialized value $1 in print at -e line 1.
No warnings are issued, matching is broken in a different scope, its a bug ... kind of amazing people don't trip on it every day
Kinda related
Lexical $_ in given/when vs. BLOCK arguments
Bug #115834 for perl5: Successfull match $_[0] =~ /foo(.+)/ overrides $_[0] if function called as foo($1)
In reply to Re^7: Getting an unknown error (foreach $1 breaks m//atch)
by Anonymous Monk
in thread Getting an unknown error
by andybshaker
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |