0

这是我的数组 buff,我将数组的内容存储如下:

$buff[0]="3\nHi how are u I am f";
$buff[1]="ine\n The world is so";
$buff[2]="beautiful.\n";
$buff[3]="I love it.";

我想拆分数组并打印为

3
Hi how are u I am fine
The world is so beautiful.
I love it.

我该如何做到这一点?我尝试使用split这样的功能:

my @split_buff=split('\n', @buff);

foreach my $val (@split_buff) {
     print $val;
}

但是我不能\n作为分隔符拆分,我也需要保留分隔符。代码有什么问题?

4

3 回答 3

4

我想你可以简单print的。

print @buff;
于 2013-06-14T07:28:25.380 回答
2

加入所有并拆分\n\s*

my @split_buff = split /\n\s*/, join "", @buff;

foreach my $val (@split_buff) {

  print "$val\n";
}
于 2013-06-14T07:28:14.513 回答
0

我喜欢回答:“打印@buff;”。你也可以试试这段代码:

    $text = ""; # or my $text;
    foreach $line (@buff) { $text = $text . "$line"; }
    print $text;
于 2013-06-16T11:06:45.880 回答