1

我正在编写一个 perl 脚本,将数组中的内容上传到数据库中。为此,我创建了一个“foreach”语句,该语句循环遍历数组并将其内容分配给一个变量:

foreach my $line (@array)
    { $data .= "$line\n" }

该脚本有效,我可以将变量上传到我的数据库中。但是,由于语句末尾的换行符(用于保留数组的原始换行符),我的变量在末尾包含一个额外的空行,它也被放入数据库中。摆脱这个空白行的最佳方法是什么?这是我只能在循环之后真正修复的东西吗?我对 Perl 非常陌生,所以我有点困惑。谢谢!

4

2 回答 2

5
my $data = join "\n", @array;

内置函数采用join分隔符和列表,并连接列表中的元素。它相当于

sub join ($@) {
  my $sep = shift;
  @_ or return "";
  my $str = shift;
  $str .= $sep . shift while @_;
  return $str;
}
于 2013-07-05T17:12:41.020 回答
4

也许您可以尝试下一个:

my $data = join "\n", @array;
于 2013-07-05T17:13:16.260 回答