2012-09-04 23 views
1

我有這個程序,在命令提示符或「perl program.pl file1.txt file2.txt」中使用「perl program.pl」在Windows上運行OK。Padre給出關於不存在的行的錯誤消息

use strict; 
use warnings; 

print "there were ",scalar(@ARGV), " arguments passed to this program\n"; 
if (scalar(@ARGV) > 1) 
{ 
    print "First Argument: $ARGV[0]\n"; 
    print "Second Argument: $ARGV[1]\n"; 
} 


sub process_file($) 
{ 
     my $filename = shift; 
     print "will process file $filename\n"; 
     #open(INPUT_FILE,"<$filename") || die("could not open $filename");  
} 

即使退出和回來到神父後,我得到這個對話框,當我去運行它(如果我點擊Yes按鈕,將仍然運行正常):

警告X線31:使用| char在沒有|的情況下打開在開頭 或結束通常是一個錯字。你想繼續嗎?

[YES] [NO]

+0

你不應該使用原型(你的子名稱後面的'($)'部分),除非你知道它們是什麼(我猜你沒有)。只需使用'sub process_file {...}'。 – TLP

回答

2

我使用or代替||open。順便說一句,我總是被告知open的三個參數形式是應該使用的。我知道Perl並不總是引用有問題的行。當然,我認爲理所當然的是,被評論的線是問題線,並且您將其評論爲測試?

+0

我最初得到了錯誤,但沒有註釋掉,但即使在註釋掉的情況下,我仍然收到錯誤。我會嘗試徹底重啓電腦,看看我是否仍然可以得到這個。 – Scooter

+0

拿着印刷機。在重新啓動之前,我替換了||與註釋或外線,我沒有得到的錯誤。當我把||回來,而不是或在 - 註釋掉 - 我再次得到錯誤。而且我也不會在命令行中看到錯誤。似乎這將意味着這是Padre中的錯誤。無論如何,我會考慮解決方案 - 使用「或」而不是「||」。謝謝! – Scooter