croak 'can\'t initialize twice' if defined $wiz;
my $types = _types shift;
$prefix = (defined) ? "$_: " : '' for shift;
+ local $@;
%mg = ();
$wiz = eval 'wizard ' . join(', ', map {
"$_ => sub { \$mg{$_}++;" . ($_ eq 'len' ? '$_[2]' : '0') . '}'
my @ret;
local %mg = ();
local $Test::Builder::Level = ($Test::Builder::Level || 0) + 1;
- if (defined $want and not $want) { # scalar context
+ local $@;
+ if (not defined $want) { # void context
+ eval { $code->() };
+ } elsif (not $want) { # scalar context
$ret[0] = eval { $code->() };
} else {
@ret = eval { $code->() };