1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
use strict; use warnings; use feature qw/say/; # https://ja.wikipedia.org/wiki/ダック・タイピング unless (caller) { say Duck->new->sound; # quack say Cat->new->sound; # myaa } package Duck; sub new { my $class = shift; return bless \{}, $class; } sub sound { return 'quack'; } package Cat; sub new { my $class = shift; return bless \{}, $class; } sub sound { return 'myaa'; }
You can clone a snippet to your computer for local editing. Learn more.