PerlOnTheWay has asked for the wisdom of the Perl Monks concerning the following question:
Quoted from perlinterp:
for efficiency reasons, perl in fact just sets a flag, using CATCH_SET(TRUE) . The pp_require , pp_entereval and pp_entertry ops check this flag, and if true, they call docatch , which does a JMPENV_PUSH and starts a new runops level to execute the code, rather than doing it on the current loop.
So by using CATCH_SET it just moves the JMPENV_PUSH to a new runops, rather than doing it on the current loop.
But IMO the same amount of stuff has to be done in both cases, how does this make efficiency better?
Back to
Seekers of Perl Wisdom