use Lexical::Alias; @a = (5); my $x = 1; alias($a[0],$x); print "$x\n"; # prints 5 sub foo { my $y = 2; alias($a[0],$y); print "$y\n"; # prints 2 } foo();