2009-02-04 77 views

回答

7

不知道是否有一個「正確」的方式做到這一點,但這應該工作:

my @command = ('start', $url); 
system(@command); 

「開始」是一個窗口的命令,會使用任何相關的程序是打開的說法。所以只要$ url看起來像一個URL(確保它以http(s)://開頭),它就會啓動瀏覽器。

+0

旁註:一些框架,像wxPerl,包括功能來爲你做這個獨立於平臺的方式。請參閱http://docs.wxwidgets.org/2.8/wx_miscellany.html#wxlaunchdefaultbrowser – jozefg 2012-06-29 04:44:46

1

我知道你在Windows上使用ActivePerl,但如果你想要可移植性,那麼system()調用可能是錯誤的方法。在OS X上,您可以將'start'更改爲'open',但在許多其他系統上,您必須使用另一個單詞,或者可能根本沒有等效的命令。這種事情確實是依賴於操作系統和瀏覽器的。

+0

那麼,要在Windows上運行的版本將使用系統托盤圖標和Activestate的PDK,因此該部分需要重寫unixes無論如何。 – 2009-02-05 14:29:50

-1

在Windows上:現代unixen開始 (也就是說,那些具有安裝XDG-utils的): XDG開

相關問題