sub X { state $x; $x = shift; \$x; } print ${X(1)}, " ", ${X(2)}, "\n"; print ${X(1)}, " "; print ${X(2)}, "\n"; printf "%d %d\n", ${X(1)}, ${X(2)}; printf "%d ", ${X(1)}; printf "%d\n", ${X(2)}; __END__ 2 2 1 2 2 2 1 2