talexb,
Golf Challenge: FizzBuzz may be of interest to you. Also, take a look at
perlsyn. While there is an implicit
break in every when clause, you can get around this by using an explicit
continue. A few other notes, you could
use feature qw/say switch/;. There is more discussion of perl 5.10 doodads at
Bring Out Your New Perl Code.
For example:
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
for (1 .. 105) {
my $what = '';
given ($_) {
when (not $_ % 3) { $what .= ' fizz'; continue }
when (not $_ % 5) { $what .= ' buzz'; continue }
when (not $_ % 7) { $what .= ' sausage' }
}
say "$_$what";
}