- or download this
sub factorial {
my ($num) = @_;
@_ = (1, 1, $num);
...
@_ = (($result * $counter), ($counter + 1), $max);
goto &_factorial;
}
- or download this
my $_factorial;
$_factorial = sub {
my ($result, $counter, $max) = @_;
...
@_ = (1, 1, $num);
goto $_factorial;
}
- or download this
#!/usr/local/bin/perl
use warnings;
use strict;
...
lexical: 4 wallclock secs ( 4.05 usr + 0.00 sys = 4.05 CPU) @ 24
+69.14/s (n=10000)
recursion: 1 wallclock secs ( 1.45 usr + 0.00 sys = 1.45 CPU) @ 68
+96.55/s (n=10000)
typeglob: 5 wallclock secs ( 4.28 usr + 0.00 sys = 4.28 CPU) @ 23
+36.45/s (n=10000)
- or download this
1..3
ok 1 - fact1 should return the correct amount
ok 2 - fact2 should return the correct amount
...
lexical: 4 wallclock secs ( 4.05 usr + 0.00 sys = 4.05 CPU) @ 24
+69.14/s (n=10000)
recursion: 4 wallclock secs ( 3.87 usr + 0.00 sys = 3.87 CPU) @ 25
+83.98/s (n=10000)
typeglob: 4 wallclock secs ( 4.28 usr + 0.00 sys = 4.28 CPU) @ 23
+36.45/s (n=10000)