c:\@Work\Perl\monks>perl -wMstrict -le "my $sentto = 'Fred Flintstone (US) (fredf@gmail.com)'; ;; my $captured = my ($first, $second) = $sentto =~ m{ \A (.*) \s+ ([(] [^(]* [)]) \z }xms; ;; if ($captured) { print qq{first '$first' second '$second'}; } else { warn 'parse failed'; } " first 'Fred Flintstone (US)' second '(fredf@gmail.com)'