sub g { # 1 2 3 4 5 #2345678901234567890123456789012345678901234567890123456 $^=pop;for(1..$^){printf"%$^d",++$,for(0..$@++);print$/} } =g(3) OUTPUT 1 2 3 4 5 6 =g(5) OUTPUT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 =g(7) OUTPUT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28