比較字符串我有一個Perl代碼來比較兩個字符串在Perl
第一個字符串我從解析URL內容得到(比如說$版本,它的價值是CVP-最新-5.3.4.iso)
另一個字符串,我打開一個本地文件(info.txt)並閱讀它。該文件只有1串(說$ oldversion其價值CVP-最新-5.3.4.iso)
我得到這些都是字符串到$版本,之後$ 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是否匹配,將打印出錯信息。 一切工作正常,直到:
當我打開文件info.txt並手動編輯(我將按退格鍵,然後將再次鍵入相同的charectores),然後保存並退出。
即使現在$ version和$ oldversion應該具有相同的內容,因爲我按下退格鍵並稍後進入相同的被刪除的charector。
現在,當我運行腳本時,我可以看到IF循環變爲TRUE而不是FALSE。 由於內容相同,所以IF應該變爲FALSE,但它的確如此。
我不知道發生了什麼事。我試着在IF語句前後打印$ version和$ oldversion,它會打印出相同的完全相同的值,但IF會變爲TRUE。 我把文件內容看作是folows。
my $oldversion = <FILE>;
你是如何從文件中讀取?也許在$ oldversion或$ version上有一個尾隨的換行符。 –
是的,我只是在文件的內容中查看了一個尾隨的換行符。我如何閱讀沒有新的行? – mac
'perldoc -f chomp' –