NAME
Method::Signatures - method and function declarations with signatures
and no source filter
VERSION
20170211
SYNOPSIS
package Foo;
use Method::Signatures;
method new (%args) {
return bless {%args}, $self;
}
# Can also get type checking if you like:
method set (Str $key, Int $val) {
return $self->{$key} = $val; # now you know $val is always an integer
}
DESCRIPTION
Provides two new keywords, func and method, so that you can write
subroutines with signatures instead of having to spell out my $self =
shift; my($thing) = @_
func is like sub but takes a signature where the prototype would
normally go. This takes the place of my($foo, $bar) = @_ and does a
whole lot more.
method is like func but specifically for making methods. It will
automatically provide the invocant as $self (by default). No more my
$self = shift.
INSTALLATION
This module sources are hosted on github
https://github.com/evalEmpire/method-signatures.git and uses
Module::Build to generate the distribution. It can be istalled:
directly
cpanm git://github.com/evalEmpire/method-signatures.git
from CPAN
cpan Method::Signatures
cpanm Method::Signatures
maualy cloninig the repository:
git clone https://github.com/evalEmpire/method-signatures.git
cd method-signatures
perl Build.PL
./Build install
REQUIREMENTS
This distribution requires Perl v5.8.1.
This distribution requires the following modules:
* Any::Moose (version 0.11)
* Const::Fast (version 0.006)
* Devel::Declare (version 0.006002)
* Devel::Declare::MethodInstaller::Simple (version 0.006002)
* Lexical::SealRequireHints (version 0.008)
* Module::Build (version 0.26)
* Mouse (version 0.64)
* PPI (version 1.203)
* Sub::Name (version 0.03)
* Test::Exception (version 0.29)
* Test::Warn (version 0.10)
This distribution recommends the following modules:
* Data::Alias (version 1.08)
* Moose (version 0.96)