NAME

Sub::Apply - apply arguments to proc.

SYNOPSIS

  use Sub::Apply qw(apply apply_if);

  {
    my $procname = 'sum';
    my $sum = apply( $procname, 1, 2, 3);
  }

  {
    my $procname = 'sum';
    my $sum = apply_if( $procname, 1, 2, 3); 
    # not die if $procname does not exist.
  }

DESCRIPTION

Sub::Apply provides function apply and apply_if. This function apply arguments to proc.

This module is designed for function call. If you want to call class method or instance method, I recommend you to use UNIVERSAL#can.

EXPORT_OK

apply, apply_if

FUNCTION

apply($procname, @args)

Apply @args to $procname. If you want to call function that not in current package, you do like below.

    apply('Foo::sum', 1, 2)

This method looks up a function using symbol table and call it. But this function DOES NOT USE @ISA to look up. This behavior is same as perl funciton call style.

apply_if($procname, @args)

Same as apply. But apply_if does not die unless $procname does not exist.

You can set $Sub::Apply::WARNING=1 for debugging.

WARNING

apply and apply_if cannot call CORE functions.

AUTHOR

Yoshihiro Sasaki, <ysasaki at cpan.org<gt>

COPYRIGHT AND LICENSE

Copyright (C) 2011 by Yoshihiro Sasaki

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.