#! /usr/bin/perl use strict ; use warnings ; my $inp = 'AAA * BBB CCC * * "2000 01 00 00 00" "2004 01 00 00 00"' ; my @r = $inp =~ /"([^"]*)"|\s+([^\s]*)(?:\s|$)/g ; local $" = "\n"; print "@r";