| Sub-Call-Tail documentation | Contained in the Sub-Call-Tail distribution. |
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 goto &sub.
When the tail modifier is compiled the inner subroutine call is transformed
at compile time into a goto.
Yuval Kogman
Andrew Main (Zefram)
Copyright (c) 2009 Yuval Kogman. All rights reserved This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Sub-Call-Tail documentation | Contained in the Sub-Call-Tail distribution. |
package Sub::Call::Tail; use strict; use warnings; require 5.008001; use parent qw(Exporter DynaLoader); use B::Hooks::OP::Check::EntersubForCV; our $VERSION = '0.04'; $VERSION = eval $VERSION; our @EXPORT = our @EXPORT_OK = qw(tail); our %EXPORT_TAGS = ( all => \@EXPORT_OK ); __PACKAGE__->bootstrap($VERSION); pop our @ISA; # ex: set sw=4 et: __PACKAGE__ __END__