I think you're missing what he's saying. Your code works. However, consider *why* it's working. Suppose I have the following code:
#!/usr/bin/perl use Data::Dumper; my $a = eval { eval { die; } }; print Dumper($a,$@); __DATA__ output: $VAR1 = undef; $VAR2 = '';
Look at that. It returns undef and $@ is an empty string just as bronto was looking for. This, however, is because the eval inside did its job. It stopped runtime errors from propogating upwards and returned undef. The outer eval didn't notice a thing and as such happily set $@ to '' and returned the last thing in the block, which was the undef from the eval. As far as what the OP is looking for, I'm with Abigail-II on this one. I don't see any way of getting $@ empty on a bad eval.
antirice
The first rule of Perl club is - use Perl
The ith rule of Perl club is - follow rule i - 1 for i > 1
In reply to Re: Re: seeking eval failures
by antirice
in thread seeking eval failures
by bronto
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |