Sub::Call::Tail - Tail calls for subroutines and methods
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
tail modifier is compiled the inner subroutine call is transformed at compile time into a goto.
<B>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!
יובל קוג'מן (Yuval Kogman) <firstname.lastname@example.org>
Karen Etheridge <email@example.com>
Florian Ragwitz <firstname.lastname@example.org>
Andrew Main (Zefram) <email@example.com>
COPYRIGHT AND LICENSE
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.