In perl.git, the branch rjbs/dumpvar-eval has been created
<http://perl5.git.perl.org/perl.git/commitdiff/a971db3815b6c7cd7b0ab6d49e7f14d0f5d95c73?hp=0000000000000000000000000000000000000000>
at a971db3815b6c7cd7b0ab6d49e7f14d0f5d95c73 (commit)
- Log -----------------------------------------------------------------
commit a971db3815b6c7cd7b0ab6d49e7f14d0f5d95c73
Author: Ricardo Signes <[email protected]>
Date: Thu Jan 24 22:44:22 2013 -0500
prevent failures deep in value dumping from aborting
Sometimes, dumpvar's dumpvalue routine gets a value it can't dump. The
simplest example to contrive is the one in this test: a tied hash that
can't tell you its keys. Until now, this would cause the whole dump to
abort as soon as it failed to dump one part.
With this commit, each stringify or unwind is inside an eval. Failed
stringifications or unwindings are replaced with a placeholder showing
the error.
unwind uses return to stop early, and rather than go through contortions
to wrap the eval in something that can then return 1 to test that eval
worked, I've just asserted that this code requires 5.14.0, which made $@
a much more reliable indicator of failure after eval.
-----------------------------------------------------------------------
--
Perl5 Master Repository