Find file
Fetching contributors…
Cannot retrieve contributors at this time
60 lines (41 sloc) 1.54 KB
methods - Provide method syntax and sweep namespaces
use methods;
# with signature
method foo($bar, %opts) {
$self->bar(reverse $bar) if $opts{rev};
# attributes
method foo : lvalue { $self->{foo} }
# change invocant name
method foo ($class: $bar) { $class->bar($bar) }
# "1;" no longer required here
With invoker support:
use methods-invoker;
method foo() {
$->bar(); # Write "$self->method" as "$->method"
This module uses Method::Signatures::Simple to provide named and
anonymous methods with parameters, except with a shorter module name.
It also imports namespace::sweep so the "method" helper function (as
well as any imported helper functions) won't become methods in the
importing module.
Finally, it also imports true so there's no need to put "1;" in the end
of the importing module anymore.
If the first argument on the "use" line is "-invoker", then it also
imports invoker automatically so one can write "$self->method" as
Other arguments are passed verbatim into Method::Signatures::Simple's
"import" function.
invoker, signatures
唐鳳 <>
CC0 1.0 Universal
To the extent possible under law, 唐鳳 has waived all copyright and
related or neighboring rights to methods.
This work is published from Taiwan.