Re /x ... is it? Let me see, the second example, what would that match? Let's see: some whitespace if any, space, opening brace, space, as little as possible of anything (and this is what I'm interested in), one space, closing brace and ... what the heck? OK, OK, back onto the trees, everything's wrong so let's go back and ignore the spaces, so we want some whitespace, opening brace, anything up till a closing brace and that's it. Why the heck cannot they write what they want right away?!?
Unless the regexps is really complex /x just get's in the way, confusing what is and what is not part of the regexp and what's to be ignored. And if the regexp IS that complicated it's usually better to split it into several named pieces
my $tagname = '[\w!][\w\d-]*';
my $paramname = '[\w!][\w\d-]*';
die "Malformed filter definition line: $line\n"
unless $line =~ /^$tagname(?:\s+$tagname)*(?:\s*:\s*$paramname(?:\