sub g { for (qw( abc def )) { # $ENV{PATH} didn't get changed. } } sub f { for (@_) { # $_ now aliased to $ENV{PATH} g(); } } f($ENV{PATH}); # A magical var