sub createcircle { my ($foo, $bar) = @_; my $qux; my $quux = sub { if (shift==$foo) { $bar } else { $qux->() } }; $qux = sub { $quux->(shift - 1) }; return $quux; } #### $;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/