sub f { $_++ for @_; } use FileHandle; sub angle { my $fh = FileHandle->new(q(echo hi |)) or die "$cmd failed\:$!"; while (<$fh>) {}; #nop } $_ = 1; @a = qw(0 1 2); local $" = ':'; print "original values:\n"; print "\t\$_=>$_\n"; print "\t\@a=>@a\n"; f @a; print "for has modified \@a, using a localized \$_\n"; print "\t\$_=>$_\n"; print "\t\@a=>@a\n"; angle; print "angle has modified a non-localized \$_\n"; print "\t\$_=>$_\n";