# original: /([^(]+)(\([^)]+\))(.*)/ my $not_paren = "[^(]+"; my $leftparen = "\\("; my $rightparen = "\\)"; my $rest = ".*"; # now reads: $string =~ /($not_paren)($leftparen$not_paren$rightparen)($rest)/;