NAME
Sub::Call::Tail - Tail calls for subroutines and methods
VERSION
version 0.08
SYNOPSIS
use Sub::Call::Tail;
# instead of @_ = ( $object, @args ); goto $object->can("method")
tail $object->method(@args);
# instead of @_ = @blah; goto &foo
tail foo(@blah);
DESCRIPTION
This module provides a tail
modifier for subroutine and method calls that will cause the invocation to have the same semantics as goto &sub
.
When the tail
modifier is compiled the inner subroutine call is transformed at compile time into a goto.
USAGE WARNING
WARNING! The author does not endorse using this module for anything real. It was written primarily to demonstrate that such quackery can be achieved. Use at your own risk!
SEE ALSO
B::Hooks::OP::Check::EntersubForCV
SUPPORT
Bugs may be submitted through the RT bug tracker (or bug-Sub-Call-Tail@rt.cpan.org).
AUTHOR
יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
CONTRIBUTORS
Karen Etheridge <ether@cpan.org>
Graham Knop <haarg@haarg.org>
Florian Ragwitz <rafl@debian.org>
Andrew Main (Zefram) <zefram@fysh.org>
Graham Ollis <plicease@cpan.org>
Karen Etheridge <github@froods.org>
COPYRIGHT AND LICENCE
This software is copyright (c) 2009 by יובל קוג'מן (Yuval Kogman).
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.