but found it didn't produce the output I expected. Unlike C's switch statement, once a condition is met, the entire given construct is finished.
in reply to Perl 5.10: switch statement demo
It has been pointed out that you can explicitly continue to produce the output you expected.
Please note, however, that the behaviour of continue is very much different from the fall-through in C, in that the next when condition is still being checked; in C, you go to the contents of the next case without any checks (which would not make much sense in a switch/case anyway).
So the C behaviour (which is difficult to reproduce with
the Perl given construct,see this thread) would not produce your expected output either.