Help for this page

Select Code to Download


  1. or download this
    sub factorial {
        my ($num) = @_;
        @_ = (1, 1, $num);
    ...
        @_ = (($result * $counter), ($counter + 1), $max);
        goto &_factorial;
    }
    
  2. or download this
    my $_factorial;
    $_factorial = sub {
        my ($result, $counter, $max) = @_;
    ...
        @_ = (1, 1, $num);
        goto $_factorial;
    }
    
  3. 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)
    
  4. 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)