use strict; use warnings; { my $x = 0; sub X() { ++$x; \$x; } } print ${X()}, "\n"; print ${X()}, "\n"; print ${X()}, "\n"; print ${X()}, "\n"; print "${X()}${X()}\n"; # why does this behave print "${X()} ${X()}\n"; # differently from this?