On Wed, 2009-12-30 at 16:13 +0100, Jeremiah Foster wrote:
> On Dec 30, 2009, at 15:54, Trevor Vallender wrote:
> 
> > Hi,
> > 
> > I have just moved a piece of code into a separate module. However, the
> > subroutine in the new module needs to reference a subroutine in the
> > script it's called from. Is there any way around this?
> > 
> > Basically, I am using AnyEvent::XMPP, and want the setup code in the
> > module. This code sets up which subroutines to call when certain events
> > occur, and all these will be in the calling script.
> > 
> > Can I pass the names of subroutines in the calling script to the
> > subroutine in the module somehow?
> > 
> > Thanks, and sorry if my question is a little jumbled, I'm having
> > problems explaining it clearly. Hopefully you understand what I mean.
> 
> Code snippets are always useful for clarifying your question.
> 

I have a piece of code which sets subroutines to be called on certain
events:

    $cl->reg_cb(
        session_ready=>sub { sessionReady(@_); },
        disconnect=>sub { disconnect(@_); },
        error=>sub { error(@_); },
        message=>sub { messageReceived(@_); }
        );

I want this in a module. However, I want sessionReady() et al to be in
the calling code. Is there a way I can either have the module be okay
with this, and know that these subroutines will be present in the
calling code, or a way I can pass the subroutines to the module with
something like

        setup(&sessionReady, &disconnect, &error, &messageReceived);

?

> Jeremiah
> 

Trevor.


-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to