比较perl中的字符串

时间:2011-07-27 12:30:17

标签: string perl if-statement

我有一个perl代码来比较2个字符串

我从解析URL内容得到的第一个字符串(比如$ version,其值为CVP-LATEST-5.3.4.iso)

另一个字符串我打开一个本地文件(info.txt)并读取它。该文件只有1个字符串(比如$ oldversion,其值为CVP-LATEST-5.3.4.iso)

我将这两个字符串都放入$ version和$ oldversion

之后我做了

if ($version ne $oldversion)
{
print "Im doing something here\n");
unlink(info.txt);
open file info.txt
print $version to into.txt
close info.txt
}
else
{
print "ERROR\n");
}

在这里你可以看到$ version和$ oldversion是否匹配它将打印ERROR。 一切正常,直到:

当我打开文件info.txt并手动编辑(我将按退格键然后再键入相同的charectores)然后保存并退出。

即使现在$ version和$ oldversion应该具有相同的内容,因为我按下了退格键,后来进入了相同的已删除的charector。

现在,当我运行脚本时,我可以看到IF循环变为TRUE而不是FALSE。 由于内容相同,IF应该为FALSE,但它会成立。

我不知道发生了什么。我在IF语句之前和之后尝试打印$ version和$ oldversion,它打印相同的完全相同的值,但IF为真。 我将文件内容读作以下内容。

my $oldversion = <FILE>;

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

my $oldversion = <FILE>;
chomp($oldversion);