Chia-liang Kao (高嘉良) > invoker-0.32 > invoker

Download:
invoker-0.32.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.32   Source   Latest Release: invoker-0.34

NAME ^

invoker - implicit invoker, sort of

SYNOPSIS ^

  use invoker;

  sub foo {
    my $self = shift;
    $->bar; # calls $self->bar;
  }

  # use Method::Signatures::Simple
  # method {
  #  $->bar # ditto
  # }

DESCRIPTION ^

The invoker pragma enables the $-> syntax for invoking methods on $self , inspired by Perl6's $.method invocation.

The module does not inject the $self variable for you. you are encouraged to use it in conjunction with self, selfvars, <Method::Signatures::Simple>, or other similar modules.

The following syntax works:

$->foo( .. args ...)
$->foo
$->$method_name
$->$method_name( .. args ...)

CAVEATS ^

Regular hash access must still be written as $self->{attr} instead of $->{attr}.

Internally, the module installs a parser hook to replace $-> ($- and the gt operator) with $--> (an invocation on the $- perlvar. It also injects an entersub hook to replace $- with $self.

BUGS ^

TODO ^

custom invoker name with "use invoker '$this'"

AUTHOR ^

Chia-liang Kao <clkao@clkao.org> Audrey Tang <audreyt@audreyt.org>

LICENSE ^

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO ^

syntax highlighting: