Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: Execute function before exit of do() block

by shmem (Canon)
on Jan 29, 2014 at 20:58 UTC ( #1072583=note: print w/ replies, xml ) Need Help??


in reply to Re: Execute function before exit of do() block
in thread Execute function before exit of do() block

I've been thinking about this, too, prior to writing my $SIG{__DIE__} answer above.
*sigh*
Creating a sentinel object... slowly, the objectification creeps on every subject...

perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'


Comment on Re^2: Execute function before exit of do() block
Download Code
Re^3: Execute function before exit of do() block
by moritz (Cardinal) on Jan 29, 2014 at 21:04 UTC

    Well, in Perl 6 there are are non-object options, like a LEAVE block that is called on every scope exit, or an UNDO block for unsuccessful scope exists.

    I wonder if those are possible (and worthy) to backport to perl 5...

      Maybe that could be done in a cheap way overriding eval. Brrr... just as I am writing this, overriding eval feels very evil... ;-)

      perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'
Re^3: Execute function before exit of do() block
by ikegami (Pope) on Jan 30, 2014 at 00:22 UTC
    You could use clear or free magic if you wanted to avoid objects.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1072583]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2015-07-07 03:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (87 votes), past polls