2014-02-05 48 views
-2

我已經寫了一個perl腳本,它在我的系統中運行良好,但不能在其他系統中運行。不能執行perl腳本 - 奇怪的錯誤

它顯示錯誤「不能執行......在行1」。 一切都設置完成。我已經在5.8.2版本中測試過,並且工作正常。但在5.8.6中它不起作用。雖然編譯此代碼我得到的檔案/ Tar.pm丟失

我已經在我的系統中檢查過perl lib文件夾,沒有這樣的文件夾/模塊。我也沒有得到任何結果perldoc -lm存檔::焦油在我的系統,但它仍然運行良好。

你能告訴我可能是什麼問題嗎?

第一行::#! C:\ SYSTEM \ Perl的

這個程序是Windows

+0

perl解釋器位置在第一行是否正確?例如,如果你的第一行看起來像'#!/usr/bin/perl',是那裏的解釋器嗎? –

+0

這是windows的腳本。 – raj

+0

顯示腳本的前幾行。 – toolic

回答

2

嘗試在你的腳本運行DOS2UNIX的。它可能在第一行中有回車。

dos2unix yourscript 

您可以檢查與

cat -vet yourscript 

CR顯示爲^ M。

此外,嘗試運行:

which perl 

,並確保您的第一行中的答案一致。

嘗試運行使用腳本:

perl yourscript 

而不是

./yourscript 
+0

這個腳本是用於windows的 – raj

+0

這解決了我在Linux上的問題 –

0

確定第一行是否正確終止您的操作系統(例如Linux痛恨CR + LF行終止。 .. :-)

+0

這是Windows的腳本,它在我的系統中運行良好,但其他系統 – raj

0

如果Perl說Archive::Tar丟失,那麼它可能是正確的。不要與它爭論 - 只需安裝模塊。