12/04/13 17:30:10.61
>>282
package FizzBuzzGizz;
sub new {
my ($c, $n) = @_;
bless \"$n."
}
sub comm { my ($t, $r, $s) = @_; $$t =~ /(^\d+)/;
0 == $1 % $r ? \"${_}$s": $t }
sub fizz {bless comm((shift), 3, 'Fizz')}
sub buzz {bless comm((shift), 5, 'Buzz')}
sub gizz {bless comm((shift), 7, 'Gizz')}
1;
package main;
for (qw(1 3 5 7 15 21 35 105)) {
print ${new FizzBuzzGizz($_)->fizz->buzz->gizz} . "\n"
}