May 26, 2018
Method-ordered multimethod dispatch
You can define multimethods with the “multi” declarator
use ClassMultimethodsPure; multi collide => 'Bullet', 'Ship' => sub my $a, $b = @_; ... ; multi collide => 'Ship', 'Asteroid' => sub my $a, $b = @_; ... ;
It is usually wise to put such declarations within a BEGIN block, so they behave more like Perl treats subs you can call them without parentheses and you can use them before you define them.