Sub::Call::Tail - Tail calls for subroutines and methods
version 0.08
use Sub::Call::Tail;
# instead of @_ = ( $object, @args ); goto $object->can("method")
tail $object->method(@args);
# instead of @_ = @blah; goto &foo
tail foo(@blah);
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.
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!
B::Hooks::OP::Check::EntersubForCV
Bugs may be submitted through the RT bug tracker (or bug-Sub-Call-Tail@rt.cpan.org).
יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
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>
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.