今天在 Perl 课上,一个学生交了一份让我烦恼的作业。我们正在研究 ARGV,但结果不是我所期望的。他的程序(meme.pl)是:
#!/usr/bin/perl
$A = $ARGV[0];
chomp($A);
if ($A == "godzilla"){
print "$A\n";
}
else {
print "We need a monster's name\n";
}
如果我输入:
% ./meme.pl bob
结果是
% bob
所以变量赋值有效,但无论在命令行上键入什么,条件 ($A == "godzilla") 都是正确的。我预计既然 $ARGV[0] 是“bob”并且 $A=$ARGV[0],那么 $A="godzilla" 就不应该是真的。
我错过了什么?我已经梳理了这段代码几个小时,我知道我只是忽略了一些小事情。