1 sub try (&@) { 2 print "try();\n"; 3 my($try,$catch) = @_; 4 eval { &$try }; 5 if ($@) { 6 local $_ = $@; 7 &$catch; 8 } 9 } 10 sub catch (&) { print "catch();\n"; $_[0] } 11 12 try { 13 die "foobar\n"; 14 print "OK"; 15 16 } catch { 17 print "FAILED!\n"; 18 };