【发布时间】:2015-04-15 19:07:20
【问题描述】:
我试图在 Perl 中打印出一个连接的字符串,但我得到了一个奇怪的结果。这是我的一些代码,我得到一个字符串并取出其中的一部分并将其放入数组@array。然后我试图获取该数组的片段并将它们连接成一个字符串。
@input = [];
while ( $in = <STDIN> ) {
print "# got $in";
chomp $in;
@inS = split(/ /, $in);
if ($inS[2] ne ".pau"){
print "$inS[2]";
push(@input, $inS[2]);
}
}
$inputSize = @input;
$stringN = "";
for ($i = 0; $i < $inputSize; $i++) {
$stringN .= $input[$i];
print "$stringN\n";
}
但是我从打印中得到的结果将这个大数字附加在前面。这是一个例子。我得到的不仅仅是“faIv”,而是:
ARRAY(0x500f450)faIv
它似乎认为我的字符串是一个数组?那是因为与数组元素连接吗?任何帮助都会非常有帮助,谢谢。
【问题讨论】:
-
@input 中有什么内容?如果我设置
@input = ( [] . 'faIv' );,我可以复制输出 -
ARRAY(0x500f450)是数组引用的字符串化表示。您需要仔细看看您如何定义@input。 -
更新以显示我如何创建@input
-
应该是
my @input = ();而不是@input = []; -
谢谢@HunterMcMillen 解决了我的问题
标签: arrays string perl printing