Help for this page

Select Code to Download


  1. or download this
    use v5.14;
    
    #my $fact = sub { (sub { goto &{$_[0]} })->(sub { $_[1] ? $_[1] * $_[0
    +]($_[0], $_[1]-1) : 1 }, $_[0]) };
    ...
    
    *fact = (sub { my ($auto_fun,) = @_; sub { $auto_fun->($auto_fun, @_) 
    +} })->( sub { my ($self, $value) = @_; $value ? $value * $self->($sel
    +f, $value - 1) : 1 } );
    say "Test fact: $_!=", fact($_) for 3, 4, 5;