print foo( 3 ), "\n"; # 3 $@ = 3; print foo( $@ ), "\n"; # 0 Bad. Passing special var. $@ = 3; print foo( "$@" ), "\n"; # 3 There we go. $@ = 3; my $e = $@; print foo( $e ), "\n"; # 3 print $e, "\n"; # 3 Still avilable to us.