在Perl中拆分一个字符串

Amr*_*tha 0 string perl split

我试图在Perl中拆分一个字符串,如下所示: -

String = "What are you doing these days?"

Split1 - What 
Split2 - are 
Split3 - you 
Split4 - doing these days?
Run Code Online (Sandbox Code Playgroud)

我想分开前n个单词,并将其余部分放在一个单独的变量中.

有没有办法做到这一点?我没有可以使用的通用分隔符.任何帮助表示赞赏!谢谢.

yst*_*sth 7

Perl的分割有一个极限参数,似乎正是你想要的.要拆分前$ n个单词并将其余单词放在一起,请使用$ n + 1作为限制(结果最多为$ n + 1个元素):

my $n = 3;
my $string = "What are you doing these days?";
my @words = split / /, $string, $n+1;
print "$_\n" for @words;
Run Code Online (Sandbox Code Playgroud)