in reply to Rate my fizzbuzz
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} }, ];
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Rate my fizzbuzz
by LanX (Saint) on Oct 13, 2025 at 17:54 UTC | |
|
Re^2: Rate my fizzbuzz
by ysth (Canon) on Oct 29, 2025 at 21:50 UTC |