use strict; use warnings;
my $text = "abcd efgh 'ijklm no pqrs' tuv 'xwyz 1234 9999' 'blah'";
my @out;
my @parts = split /'/, $text;
for ( my $i = 1; $i < $#parts; $i += 2 ) {
push @out, split( /\s+/, $parts[$i - 1] ), $parts[$i];
}
push @out, $parts[-1];
use Data::Dumper;
print Dumper \@out;