我有以下一串代碼:字符串比較似乎無效
my $f1 = $ARGV[0] // '';
my $f2 = $ARGV[1] // '';
print "f1: $f1\n";
print "f2: $f2\n";
if ($f2 eq '') {
print "reach here\n";
open(DATA1, $f1) or die $!;
} else {
open(DATA1, $f2) or die $!;
}
會收到命令行1個或2個參數,命令行調用是這樣的:
perl perl_unix_wc.pl -l file.txt
或該:
perl perl_unix_wc.pl file.txt
我試圖界定2個定標器以從命令線接收字符串,是否適用於情況1,那麼 '打開(DATA1,$ f2)或死掉$!'將被調用,否則'打開(DATA1,$ f1)或死亡$!'會叫。但實際上,只有情況2被執行,情況1從未到達。我的代碼在這裏有什麼問題?這裏的字符串比較有問題嗎?謝謝。
你們是不是要進入的第一個參數或「」在F1和第二個參數或「」我n f2?如果你嘗試||代替 // ? –