my $p = sub { my $n = 2; my $g = sub { $n++ }; sub { my $r = $g->(); $g = sub { my ($f, $g) = @_; sub { while (1) { my $r = $g->(); return $r if $r % $f; } }; }->($r, $g); $r; }; }->(); while ((my $n = $p->()) < 500) { print "$n\n"; }
perl -e 'print sub { "Hello @{[shift]}!\n" }->("World")'
In reply to fun with closure by billh
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |