2009-02-04 43 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开

相关问题