my $bar = "world"; sub foo { while (@_) { $bar = shift; $params->{$bar} = shift; } #### my $_; #### local $_=whatever; #### #!/usr/bin/perl -l use strict; use warnings; use Tie::Array; my @q = my @q0 = qw/foo bar/; sub foo { local $_ = 'baz'; print "@q $_"; } foo for @q; tie @q, 'Tie::StdArray'; @q=@q0; print '-' x 11; foo for @q; __END__