c:\@Work\Perl\monks>perl -wMstrict -le "S(3); T(); S(9); T(); ;; exit_here_to_avoid_weirdness(); ;; my $x = 42; sub S { $x = $_[0]; printf qq{in S: x == $x }; T(); } ;; sub T { ++$x; print qq{in T: x == $x}; } ;; sub exit_here_to_avoid_weirdness { exit; } T(); " in S: x == 3 in T: x == 4 in T: x == 5 in S: x == 9 in T: x == 10 in T: x == 11