What techniques for making my code more compact and less maintainable have I overlooked?There are an infinite number of very different ways. Here's just one example:
use 5.012; use warnings; sub task { state $task='@PERLMONKSFAITH'; exit if ++$_[0] > 100; $_->[ +ord("`"^" "^($task.=substr $task,0,1,''))] } $_->[0](my $n=1) for [ sub { say $_[0]; goto &{&task} }, sub { say "Fizz"; goto &{&task} }, sub { say "Buzz"; goto &{&task} }, sub { say $_[0]; goto &{&task} }, sub { say "FizzBuzz"; goto &{&task} }, sub { say "Fizz"; goto &{&task} }, sub { say $_[0]; goto &{&task} }, sub { say "Fizz"; goto &{&task} }, sub { say "FizzBuzz"; goto &{&task} }, sub { say $_[0]; goto &{&task} }, sub { say $_[0]; goto &{&task} }, sub { say "Fizz"; goto &{&task} }, sub { say "Buzz"; goto &{&task} }, sub { say "Fizz"; goto &{&task} }, sub { say $_[0]; goto &{&task} }, sub { say $_[0]; goto &{&task} }, sub { say $_[0]; goto &{&task} }, sub { say "Buzz"; goto &{&task} }, sub { say $_[0]; goto &{&task} }, sub { say "Buzz"; goto &{&task} }, sub { say $_[0]; goto &{&task} }, ];
In reply to Re: Rate my fizzbuzz
by ysth
in thread Rate my fizzbuzz
by Vonunov
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |