在perl中使用换行符打印数组

时间:2014-04-10 20:54:46

标签: perl

我正在尝试打印一个包含表示文本行的字符串的数组。

考虑:

my $a="1\n2\n3\n";
my @b=split(/^/, $a);
$,="";
print "@b";

这给出了输出:

1
 2
 3

注意第二行和第三行前面的空格。这个空间的原因是什么,以及如何摆脱它?

2 个答案:

答案 0 :(得分:2)

如果您不想要空间,只需使用for循环。

print for @b

或者您可以修改perlvar中定义的$LIST_SEPARATOR$",默认情况下是空格。

local $" = '';
print "@b";

答案 1 :(得分:1)

您可以使用join function

print join("", @b);

这样你就不需要为不同的行为设置(并且可能重置)任何魔法变量(如果做得太多,可能会让人感到困惑)。