2015-10-30 11 views
0

Я попытался открыть браузер с различными способами что-то вроде этогоКак открыть браузер на окна с URL, который содержит метасимволы

системы («старт». $ 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

+0

Windows 'perl' или cygwin' perl'? (Что такое 'perl -V: archname') – ikegami

+0

MSWin32-x64-multi-thread –

ответ

2

& имеет особое значение для оболочки, так что вы должны поместить URL в кавычки.

Но start имеет очень необычный синтаксис. Если первый аргумент находится в кавычках, он считается заголовком окна. Поэтому вам нужно добавить фиктивный первый аргумент. Решение следующее:

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

Да, он работает в cmd, но в perl-скрипте $ url должен быть интерполирован, он пытается открыть «$ ulr» не значение. –

+0

Исправлено. , , , , , – ikegami

+0

Большое спасибо, очень полезно, как я мог забыть о qq. –

0

по system:

use strict; 
use warnings; 

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

Скриншот для вышеприведенного кода бега:

enter image description here

+0

Я пробовал этот путь, не открылся правильно, он открыл –

+0

@DimaCandu вы уверены? Он работает, добавлен скриншот. Возможно, вам нужно объяснить, что не работает. –

+0

Мне нужно открыть этот URL http://host.com/cgi-bin/nagios3/status.cgi?hostgroup=all&style=detail&servicestatustypes=28&sorttype=2&sortoption=3 –

 Смежные вопросы

  • Нет связанных вопросов^_^