Arrays 将数组转换为字符串,并在字符串中嵌入换行符
我需要将一个perl数组转换为一个字符串变量,其中包含所有用换行符分隔的数组项Arrays 将数组转换为字符串,并在字符串中嵌入换行符,arrays,perl,Arrays,Perl,我需要将一个perl数组转换为一个字符串变量,其中包含所有用换行符分隔的数组项 my $content = ""; @names=('A','C','C','D','E'); $content = $content . join($", @names) . "\n"; print $content; 我希望输出类似于: A C C D E 但我得到: A C C D E 为什么换行符\n字符没有得到尊重?要加入一个介于换行符之间的数组,请使用 join("\n", @array) 您的代
my $content = "";
@names=('A','C','C','D','E');
$content = $content . join($", @names) . "\n";
print $content;
我希望输出类似于:
A
C
C
D
E
但我得到:
A C C D E
为什么换行符
\n
字符没有得到尊重?要加入一个介于换行符之间的数组,请使用
join("\n", @array)
您的代码使用
$”
变量的内容作为分隔符,默认情况下,该分隔符包含一个空格。若要使用换行符连接数组,请使用
join("\n", @array)
您的代码使用$”
变量的内容作为分隔符,默认情况下,该分隔符包含空格。请执行以下操作:
$content = $content . join("\n", @names);
改为这样做:
$content = $content . join("\n", @names);
由于您不仅希望在每一行之间换行,而且希望在最后一行之后换行,因此您可以使用以下任一选项:
join(“\n”,@names)。“\n”
join(“,映射“$\n”,@names)
join(“\n”,@names,”)
除非数组为空,否则它们是等效的。在这种情况下,第一个结果是换行,另一个结果是空字符串
顺便说一下
$content = $content . EXPR;
可以写成
$content .= EXPR;
由于您不仅希望在每一行之间换行,而且希望在最后一行之后换行,因此您可以使用以下任一选项:
join(“\n”,@names)。“\n”
join(“,映射“$\n”,@names)
join(“\n”,@names,”)
除非数组为空,否则它们是等效的。在这种情况下,第一个结果是换行,另一个结果是空字符串
顺便说一下
$content = $content . EXPR;
可以写成
$content .= EXPR;
$”
变量保存Perl在双引号字符串中插入数组时在数组元素之间使用的值
也许您正在考虑输入或输出记录分隔符,$/
或$\
但是,您并不是真的想使用这些变量。如果您想要换行符,请使用换行符:
join "\n", @array;
$”
变量保存Perl在双引号字符串中插入数组时在数组元素之间使用的值。默认情况下(您没有更改它),它是一个空间
也许您正在考虑输入或输出记录分隔符,$/
或$\
但是,你并不是真的想玩这些变量。如果需要换行符,请使用换行符:
join "\n", @array;
有一点不同:如果数组是空的,
join(“,map“$\n”,@names)
产生”
,而不是“\n”
。我通常只做一些事情,例如join(“\n”,@array,”)
有一点不同:如果数组是空的,join(“,map“$\n”,@names)
产生”
,,而不是“\n”
。我通常只做一些事情,例如,join(“\n”、@array“”)