I don't understand why you think a 'continue-block' is missing from given/when. 'continue-block' is associated with loops; give/when isn't a loop. There's no 'continue-block' for
if/elsif/else either. But given that empty blocks are loops, you could write:
{
given ($foo) {
when (/bar/) {...}
when (/baz/) {...}
}
} continue {
... always executed ...
}
But I don't see what that buys you over:
given ($foo) {
when (/bar/) {...}
when (/baz/) {...}
}
... always executed ...
So, why even want a continue block on given/when? It's not needed, and isn't consistent.
Nice ...but how can I take profit from this smart match if the parameter passed into given can only be a scalar?
To give one example:
my $foo = "bar";
my @foo = qw [foo bar baz];
given ($foo) {
when (@foo) {say "Match"}
}
will print
Match.