sub tryit (&$) { my ($code, $label)= @_; eval { &$code }; if ($@) { my $error= $@; # remember that in case fail() changes it. fail $label; diag "$label fails:", $error; } }