mikkoi has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/env perl
use strict;
use warnings;
use Carp;
local $@ = undef;
eval {
local $@ = undef;
eval {
# croak __LINE__ . ':DEEPEST ERROR'; 1;
croak 'DEEPEST ERROR'; 1;
} or do {
my $e = $@;
warn __LINE__ . ":e=$e";
croak $e;
}; 1;
} or do {
my $e = $@;
warn __LINE__ . ":e=$e";
croak $e;
};
Output:
16:e=DEEPEST ERROR at ./test-recursive-evals.pl line 13.
eval {...} called at ./test-recursive-evals.pl line 14
eval {...} called at ./test-recursive-evals.pl line 19
21:e= at ./test-recursive-evals.pl line 21.
at ./test-recursive-evals.pl line 22.
In later Perl 5.14.4 this works as it should.
Is there a way around this bug, besides removing the nested evals? Or perhaps it is time to stop supporting older than 5.14 or 5.16?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Nested Evals in Old Perl 5.10
by eyepopslikeamosquito (Archbishop) on Aug 24, 2024 at 22:49 UTC | |
by mikkoi (Beadle) on Aug 25, 2024 at 09:06 UTC | |
|
Re: Nested Evals in Old Perl 5.10
by hv (Prior) on Aug 25, 2024 at 04:03 UTC | |
|
Re: Nested Evals in Old Perl 5.10
by perlfan (Parson) on Aug 25, 2024 at 07:54 UTC | |
by mikkoi (Beadle) on Aug 25, 2024 at 09:01 UTC | |
by perlfan (Parson) on Aug 25, 2024 at 19:50 UTC | |
|
Re: Nested Evals in Old Perl 5.10
by perlfan (Parson) on Aug 25, 2024 at 20:01 UTC |