Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^3: Let a module call a sub of the caller

by moritz (Cardinal)
on Sep 07, 2012 at 10:02 UTC ( #992270=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Let a module call a sub of the caller
in thread Let a module call a sub of the caller

I am not that familiar with the processing phases BEGIN,INIT,END, that's why I asked. Is there a way to call the method at the END of execution of the caller?

END time is the same for all, so yes, that works:

# file CallMe.pm package CallMe; use 5.010; use strict; use warnings; my @to_call; sub import { my ($self, @routines) = @_; my $call_package = (caller(1))[0]; push @to_call, $call_package. "::$_" for @routines; } END { no strict 'refs'; $_->() for @to_call; } 1;

And then in your script:

use 5.010; use lib '.'; use CallMe 'foo'; sub foo { say 42 } say 'in mainline';

prints

in mainline 42


Comment on Re^3: Let a module call a sub of the caller
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2014-09-22 02:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (177 votes), past polls