Sub::AutoでAUTOLOADを隠蔽

Sub::Autoを使う事で、PerlのAUTOLOADをとても綺麗に書けますね。

#!/usr/bin/env perl
use strict;
use warnings;

{
    package Person;
    use Sub::Auto;
    use Perl6::Say;

    sub new {
        my $pkg = shift;
        bless {},$pkg;
    }   

    autosub (^say_(\w+)$) {
        my ($what, @pars ) = @_; 
        say $what;
    };  
}

Person->new->say_mooooooooooose;
Person->new->say_goooooooooooooooooooooooooogle;

__END__

実行結果

mooooooooooose
goooooooooooooooooooooooooogle

# Sub系はコードを読んでいて勉強になることが多いですね