http://www.perlmonks.org?node_id=940914


in reply to Re: Passing subroutine as argument between packages
in thread Passing subroutine as argument between packages

Thank you for you answer,

I want ask you about one more thing: in this method, how pass eventually arguments for subroutine $FooConfig->important_func?

I checked $ref()->('a' ), $ref()('a'), $ref->( 'a' ), $ref->()('a'), $ref->()->('a') or like this, and didn't work.

Replies are listed 'Best First'.
Re^3: Passing subroutine as argument between packages
by chromatic (Archbishop) on Nov 30, 2011 at 18:25 UTC

    Given:

    my $ref = sub { $FooConfig->important_func( '1', @_ ) };

    ... then you can write:

    $ref->( 'more', $args, %here );

    ... though be cautious and understand how the function reference passes its arguments to the inner function.


    Improve your skills with Modern Perl: the free book.

      Simple @_ is solution - now works fine!

      Thanks for very helpfull hints.