Re: How to check if a DateTime is invalid (again - but this time without using eval)?
[email protected] (Paul Hoffman) Tue, 11 Jul 2017 11:56:58 -0400
| Newsgroups | perl.datetime |
|---|---|
| Message-ID | <20170711155658.GA11845@trot> |
On Mon, Jul 10, 2017 at 09:44:15PM +0100, Zefram wrote:
> Thomas (HFM) Wyant wrote:
> >One of the edge cases with eval {} is the possibility that $@ gets
> >clobbered before you get your hands on it.
>
> The possibility of it being clobbered by a destructor was fixed in 5.14.
> (Destructors that do this are considered buggy, for pre-5.14 perls,
> and are individually easy to fix, so the problem is still manageable on
> those perl versions.)
And in perl < 5.14 you can work around it easily enough:
my $ok;
eval {
...
$ok = 1;
};
if ($ok) {
...
}
Paul.
--
Paul Hoffman <[email protected]>