# --- Factoring with a nony mouse sub { my $sub; my $fact; $fact = 1; $sub = sub {my $num=shift; $fact=$num*$fact; if ($num==1){print "$fact\n"} else{$num--;$sub->($num)}; return $sub}; $sub->(5); } #### # --- Factoring with a nony mouse sub my $sub; { my $fact; $fact = 1; $sub = sub {my $num=shift; $fact=$num*$fact; $num--; $sub->($num) unless $num==1; return $fact}; } print $sub->(5),"\n";