use Data::Dumper; my $inp = 'AAA * BBB CCC * * "2000 01 00 00 00" "2004 01 00 00 00"'; $inp =~ s/(\d) (\d)/$1-$2/g; my @fields = split /\s+/, $inp; print Dumper(\@fields);