У меня нет одной строки, но следующий код должен дать вам возможность начать.В основном делает это с push
и регулярным текстом с /g
.
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
$Data::Dumper::Indent = 1;
my $t1 = 'aa bb cc dd ee ff';
my $t2 = 'aa bb cc dd ee';
foreach my $txt ( $t1, $t2 )
{
my @a;
push( @a, $& ) while( $txt =~ /\G\S+(\s+\S+|)\s*/g );
print Dumper( \@a );
}
Один вкладыш благодаря синтаксису из @ ysth
my @a = $txt =~ /\G(\S+(?:\s+\S+|))\s*/g;
Мое регулярное выражение немного отличается в этомесли у вас нечетное количество слов, последнее слово все равно получает запись.