|
|
|
|
|
by prakashk
5255 days ago
|
|
This is not much different than mutating a global variable inside a function. I would write your code as: foo($_) foreach @bar;
sub foo {
my $var = shift;
$var =~ s/foo/bar/;
print $var;
}
You can also fix this is to localize $_ inside the function, if you don't want to pass $_ as a parameter. foo foreach @bar;
sub foo {
my $var = $_;
$var =~ s/foo/bar/;
print $var;
}
You can even use $_ instead of $var (although it looks a little weird assigning $_ to itself): foo foreach @bar;
sub foo {
my $_ = $_;
s/foo/bar/;
print;
}
|
|