http://qs321.pair.com?node_id=580652

Just got my butt chomped by this one, so I thought I'd share.

What's wrong with this function?

sub foo { return eval { bar( shift ) } || 0; }
The answer does not depend on the definition of bar. E.g. let bar be
sub bar { return shift; }

the lowliest monk