in reply to Did I match or didn't I?

I'm supposing that || forces scalar context on its arguments

You are supposing nearly correctly, || forces scalar context on its left argument - btw something which will be changed in Perl6 (see Exegesis 3, under the heading '... and context for all').

For solving use any of the good suggestions given elsewhere in this thread :)

-- Hofmator