diff options
author | Father Chrysostomos <sprout@cpan.org> | 2011-02-11 13:46:47 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-02-11 14:07:24 -0800 |
commit | b208c909347c1ee277714eaa1bda5a4e0d85a64e (patch) | |
tree | 372c89e27af71af53cf722b22873d6500863363f /pod | |
parent | 82bcec1beafdddf442ea155a666fc0b0dce8fe5f (diff) | |
download | perl-b208c909347c1ee277714eaa1bda5a4e0d85a64e.tar.gz |
perlfunc/eval: $@ is now set after unwinding
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perlfunc.pod | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 654ea85dfd..ece100551f 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -1676,8 +1676,8 @@ normally you I<would> like to use double quotes, except that in this particular situation, you can just use symbolic references instead, as in case 6. -The assignment to C<$@> occurs before restoration of localised variables, -which means a temporary is required if you want to mask some but not all +Before Perl 5.14, the assignment to C<$@> occured before restoration of localised variables, which means that, if your code is to run on older +versions, a temporary is required if you want to mask some but not all errors: # alter $@ on nefarious repugnancy only @@ -1686,7 +1686,7 @@ errors: { local $@; # protect existing $@ eval { test_repugnancy() }; - # $@ =~ /nefarious/ and die $@; # DOES NOT WORK + # $@ =~ /nefarious/ and die $@; # Perl 5.14 and higher only $@ =~ /nefarious/ and $e = $@; } die $e if defined $e |