sub f { my ($n) = @_; my $x if 0; print ++$x, "\n"; f($n-1) if $n>1; } f(3); # 1,1,1 f(2); # 2,2 f(3); # 3,3,2