for (@test) { if (/ .* (^|\() (.*?) (\)|$) /x and my $p = "$1$3") { print ' Match ', { ')' => 'before right paren', '(' => 'after left paren', '()' => 'in parens', }->{$p}, ": $2\n"; } }