2010-06-10 125 views
4

上週我在WinXP上用Strawberry Perl替換了ActivePerl。從命令行執行Perl的問題

我發現我必須用perl myperl.pl的命令運行我的Perl腳本;否則我只需在運行myperl.pl之前安裝草莓。我如何才能像以前一樣運行myperl.pl

我檢查了我的環境配置如下。

C:\> Path 

C:\Program Files\ActiveState Komodo Edit 
5\;C:\Perl\site\bin;C:\Perl\bin;C:\Perl\bin\;C:\Program Files\CodeSynthesis 
XSD 3.2\bin\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem; 
C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\Microsoft 
SQL Server\90\Tools\binn\;C:\Program Files\Common Files\Thunder Network\KanKan 
\Codecs;C:\strawberry\c\bin;C:\strawberry\perl\bin` 

草莓Perl的路徑已經在Path值上市成功安裝後。

我錯過了什麼?謝謝你的建議。

回答

11

從命令提示符嘗試:

assoc .pl=PerlScript 
ftype PerlScript=c:\strawberry\bin\perl.exe %1 %* 

- KMX

+0

我確認它有效。 +1在Windows中的命令行! – DVK 2010-06-10 11:22:04

+0

它不適合我。我成功地從Windows命令窗口運行了兩行。但我試圖運行我的Perl腳本,它仍然失敗。我不知道爲什麼? – 2010-06-10 11:23:28

+0

它的工作原理。我意識到我的計算機Perl腳本路徑應該是命令中的'c:\ strawberry \ perl \ bin \ perl.exe'。 http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ftype.mspx?mfr=true – 2010-06-11 01:47:39

8

您需要將.pl文件擴展名與Strawberry Perl的可執行文件關聯(這是Windows的東西,而不是Perl的東西)。

要做到這一點,有一對夫婦的方式(你可以在google或要求上ServerFault最好的一個或完整列表),但一個我通常在XP中使用的是:

  • 打開任意一個文件夾Windows資源管理器
  • 進入「工具」菜單,然後單擊「文件類型」,在出現的對話框中
  • 標籤在列表中找到「PL」擴展
  • 如果它的存在,糾正相關的可執行文件是草莓Perl的點擊「PL」行並點擊「更改」按鈕
  • 如果它不在列表中,點擊「新建」按鈕,在表單中輸入PL擴展名並點擊「確定」。然後關閉整個對話框,然後重新打開。在「PL」擴展現在出現在列表中,那麼點擊它,然後單擊「更改」按鈕

萬一我搞砸了,這裏是來自微軟的官方說明:

http://support.microsoft.com/kb/307859

UPDATE 請參閱KMX的答案 - 他的方法是所有的命令行,因此似乎更理想,我認爲GUI浮躁......我證實,它也能工作(不帶參數,至少)

+0

非常感謝。該方法有效! – 2010-06-10 11:18:37

+1

@Nano - 請參閱kmx的答案 - 他的方法是全部命令行,因此似乎更適合我...我證實它也可行! – DVK 2010-06-10 11:22:47

+1

使用正確的技術:請參閱kmx's amswer – 2010-06-10 11:23:26

3

你可能需要把.PL擴展到PATHEXT環境變量。這將使.pl文件與PATH變量一起使用。

類型

set PATHEXT 

看,如果你設置了。如果你不是,那麼進入我的電腦 - >屬性 - >高級,然後按下標籤底部的「環境變量」按鈕。在那裏,您可以將.PL添加到PATHEXT變量。

,或者你可以設置它在您運行啓動一些批處理文件CMD:

set PATHEXT=%PATHEXT%;.PL 
+0

這不是問題的答案,但它是無用的其他有用的提示,將有助於海報。 – dolmen 2010-08-21 00:40:05

0

出於完整性這裏的其他2種方法不作特等可執行腳本,但你可以使用它們讓你的Perl腳本變成可執行文件。

  • pl2bat這是假設創建一個包裝版本的.pl到一個.bat文件,它可以在Windows系統上執行。我沒有嘗試過,所以YMMV。
  • pp,我以前用過的PAR::Packer模塊的一部分工作得非常好,可以將你的perl腳本轉換爲可執行文件。