c:\@Work\Perl\monks>perl -wMstrict -le "my $s = 'xxx foo , 987;-+--++-+%yyy'; ;; my $sep = qr{ \s* [,;] \s* }xms; ;; my ($letters, $digits, $signs) = $s =~ m{ ([a-z]+) $sep (\d+) $sep ([-+]+) }xms; print qq{letters '$letters' digits '$digits' signs '$signs'}; " letters 'foo' digits '987' signs '-+--++-+'