Method::Signatures - method and function declarations with signatures and no source filter




    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


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.


This module sources are hosted on github and uses Module::Build to generate the distribution. It can be istalled:

 cpanm git://
from CPAN
 cpan Method::Signatures
 cpanm Method::Signatures
maualy cloninig the repository:
 git clone
 cd method-signatures
 perl Build.PL
 ./Build install 


This distribution requires Perl v5.8.1.

This distribution requires the following modules:

This distribution recommends the following modules: