如何使用包含元字符的 url 在 windows 上打开浏览器

How to open browser on windows with url which contains metacharacters

我尝试用不同的方式打开浏览器 像这样

system('start ' . $url) 或使用特殊模块 Browser::Open 他打开了 url ,但不是全部,只有 http://host.com/cgi-bin/nagios3/status.cgi?hostgroup=all

忘记注意了,我要打开 http://host.com/cgi-bin/nagios3/status.cgi?hostgroup=all&style=detail&servicestatustypes=28&sorttype=2&sortoption=3

根据system

use strict;
use warnings;

my $url ="http://host.com/cgi-bin/nagios3/status.cgi?hostgroup=all";
system('start', $url);

上面代码的屏幕截图运行:

&对shell有特殊意义,所以需要把URL放在引号里。

但是 start 有一个非常不寻常的语法。如果第一个参数在引号中,则它被认为是 Window 的标题。所以你需要添加一个虚拟的第一个参数。解决方案如下:

system(qq{start "" "$url"})