Contextual::Call - call sub with caller's context
Version 0.01
use Contextual::Call qw(ccall); # invoke sub with your context. my $cc = ccall($coderef); ... some processes .. # and return value which was returned by $coderef and # is matched with context. return $cc->result;
"ccall" function can invoke a function undef specified context (default is caller's context) and reproduce return value of that invocation.
This function is useful when you will override a method which returns different values between scalar and list context.
This module can export ccall function.
ccall
$cc = ccall($coderef);
Call specified code-ref with your context, and return a Contextual::Call object which contains result of that call. You can get the result appropriate for context.
This function is shortcut to "new" constructor.
$obj = Contextual::Call->new({ context => wantarray, sub => $coderef });
Call specified code-ref with your context, and return a Contextual::Call object. This method is OO-style of "ccall" function.
return $obj->result();
Return result value with same context with ccall/new.
YAMASHINA Hio, <hio at cpan.org>
<hio at cpan.org>
Please report any bugs or feature requests to bug-contextual-call at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Contextual-Call. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-contextual-call at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc Contextual::Call
You can also look for information at:
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Contextual-Call
CPAN Ratings
http://cpanratings.perl.org/d/Contextual-Call
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Contextual-Call
Search CPAN
http://search.cpan.org/dist/Contextual-Call
Copyright 2007 YAMASHINA Hio, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Contextual::Call, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Contextual::Call
CPAN shell
perl -MCPAN -e shell install Contextual::Call
For more information on module installation, please visit the detailed CPAN module installation guide.