http://www.perlmonks.org?node_id=1123114

in reply to Re^2: Golf: Factorials

24 characters using say and an unused punctuation variable:

```13:38 >perl -E "\$a=1;say\$a*=++\$}for a..k"
1
2
6
24
120
720
5040
40320
362880
3628800
39916800

13:38 >

:-)

 Athanasius <°(((>< contra mundum Iustus alius egestas vitae, eros Piratica,

Replies are listed 'Best First'.
Re^4: Golf: Factorials
by eyepopslikeamosquito (Chancellor) on Apr 11, 2015 at 04:49 UTC

Though we may have strayed a bit from the original golf, yours can be whittled by three strokes:

```> perl -E "\$a=1;say\$a*=++\$}for a..k"
> perl -E "say\$x*=\$_ for++\$x..11"

1
2
6
24
120
720
5040
40320
362880
3628800
39916800

yes a bit from the original post: in fact:
```perl -E "say\$x*=\$_ for++\$x..3,0,1,-1"
1
2
6
0  # must be 1
0  # too
0  # must be undef or Error

L*
There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
Re^4: Golf: Factorials
by Discipulus (Abbot) on Dec 15, 2015 at 10:52 UTC
also this solution works only for series of consecutive integers starting with 1
```perl -E "\$a=1;say\$a*=++\$}for @ARGV" 0 1 2 3
1
2
6
24
perl -E "\$a=1;say\$a*=++\$}for @ARGV" 1 3
1
2