2011-05-04 44 views
2

我開始在我的Mac上編寫一個簡單的Perl程序,並且我知道第一行需要是Perl本身的位置,我發現每個示例或教程都告訴我第一行應該是:在Mac OSX上的Perl位置

「#在/ usr/bin中/ perl的!」

然而,與在那裏,我嘗試運行在本地主機的文件,我得到這個錯誤:

內部服務器錯誤 的服務器遇到內部錯誤或配置錯誤,無法完成您的請求。 請聯繫服務器管理員,[email protected],並告知他們錯誤發生的時間以及您可能已經造成錯誤的任何事情。 有關此錯誤的更多信息可能在服務器錯誤日誌中可用。

任何人都知道爲什麼會發生這種情況?

在此先感謝,並讓我知道是否需要更多信息!

P.S.如果有幫助,當我執行命令:「perl的-v」它告訴我

這是perl的,v5.10.0專爲達爾文線程多2level (2個註冊補丁,看到的perl -V更多細節)

+0

你能編輯你的問題並粘貼你的Perl腳本的內容嗎?你如何運行腳本?這看起來像一個系統錯誤,本身不是Perl錯誤。 – 2011-05-04 00:48:58

+0

'#!/ usr/bin/perl'是10.6的正確路徑 – Erik 2011-05-04 00:56:04

+2

來自[Stack Overflow Perl FAQ](http://stackoverflow.com/questions/tagged/perl?sort=faq):[我怎麼能排查我的Perl CGI腳本?](http://stackoverflow.com/questions/2165022/how-can-i-troubleshoot-my-perl-cgi-script) – daxim 2011-05-04 07:33:32

回答

2

#!/usr/bin/perl是10.6的正確路徑。如果您從網絡服務器運行,則任何輸出之前的第一行應該是HTML標頭。你可能忘記了一個?

#!/usr/bin/perl 

use CGI; 
print CGI->header('text/html'); 
print "hello world"; 
3

正如Erik所說,/usr/bin/perl是Perl在OSX上的標準位置。您也可以通過從終端運行which -a perl來驗證這一點(這將列出您路徑上的所有Perl實例)。

你可以從命令行運行腳本,即./<myscript>.pl?有可能您沒有使腳本可執行。

+0

有趣。當我運行'which -a perl'時,它確實將我的機器上Perl的位置顯示出來。當我嘗試從命令行運行它時,它告訴我我沒有權限,並且當我sudo它時,出現錯誤: 'sudo:./hello.pl:command not found' 我如何使它可執行?另外,在此先感謝所有幫助人員,我非常感謝! – fullOfQuestions 2011-05-04 21:51:04

+0

'chmod + x hello.pl'將使腳本對所有用戶可執行。至於sudo錯誤,我不確定,可能是sudo的方式,告訴你這個文件不可執行。 – 2011-05-05 02:48:57