I don't know why people want a verbatim 'switch' statement when you can use a for-statement.
#!/usr/bin/perl -w
use strict;
{
for (1..40) {
print;
($_ % 3 == 0) && print q! fizz!;
($_ % 5 == 0) && print q! buzz!;
($_ % 7 == 0) && print q! sausage!;
print "\n";
}
}
I generally use a for loop in conjunction with regular expression matches, like this trivial example:
#!/usr/bin/perl -w
use strict;
{
my @items = qw/The three principal virtues of a programmer are Laz
+iness, Impatience, and Hubris. See the Camel Book for why/;
for (@items) {
/^[A-Z]/ && do {
print "Found a proper noun? $_\n";
next;
};
/[,.]/ && do {
print "This word has punctuation: $_\n";
next;
};
print "This word seems uninteresting: $_\n";
}
}
It has a lot of flexibility where you can mix and match parts and get real nice uses out of it. I've always used it fully and got very good results --without waiting for a proper switch statement.
"The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why." -- `man perl`