在Perl中打印出一个字符串并得到奇怪的结果

时间:2015-04-15 19:07:21

标签: arrays string perl printing

我试图在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

好像它认为我的字符串是一个数组?这是因为与数组元素连接?任何帮助都会非常有帮助,谢谢。

1 个答案:

答案 0 :(得分:4)

[]是数组的引用@input = [];创建一个名为@input的数组,并将对空数组的引用作为@input的第一个元素。如果要将@input初始化为空数组,请使用@input = ();