关于$_变量的问题

关于$_变量的问题



[Copy to clipboard] [ - ]
CODE:
my @array = qw(test);

my $text;

foreach (@array)
{
    $text .= $_ + "\n";
}
print $text;

这样输出的结果是0;

如果要达到我原本想要的结果,必须这么做:
$text .= "$_\n";
或者
$text .= $_;
$text .= "\n";

我想$_变量应该是一个标量吧?为什么会出现这种情况?
$_ + "\n"  这个就是等于0的,建议写成 $_ . "\n",perl和java的字符连接是有区别的
原来如此,忽略了,我还是在用C++中string类的思维去考虑perl中的字符串...
#!/usr/bin/perl

@q = qw( test1 test2 );
print join "\n", @q;
你别用$_ 加上\n好不。。。 java里的字符串连接才是用+号,好像其他语言还有更奇怪的字符串连接符号



QUOTE:
Argument "\n" isn't numeric in addition (+) at ./t.pl line 8.
Argument "test" isn't numeric in addition (+) at ./t.pl line 8.



QUOTE:
原帖由 converse 于 2008-7-22 11:23 发表
原来如此,忽略了,我还是在用C++中string类的思维去考虑perl中的字符串...



再多学几种语言吧,这样就不混了