Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > Открытие веб-страницы


Автор: HalkaR 23.8.2006, 13:21
Мне из моего приложения нужно открыть веб-страничку. Но нужно чтоб это отработало и под виндой (что не критично) и под Linux и под Mac OS (что критично).

Спасибо!

Автор: korob2001 23.8.2006, 15:00
Что-то не понятен вопрос, поясни немного подробнее. Что за приложение?

Автор: HalkaR 23.8.2006, 17:15
Есть приложение на Perl (консольное). Из него я хочу открыть пользователю ссылку в браузере.

Автор: korob2001 24.8.2006, 06:28
Если я правильно тебя понял, ты хочешь из консоли открыть какую-то страницу в окне браузера? Если да, то придётся делать системный вызов с передачей параметра, примерно такой:
Код

start http://forum.vingrd.ru

Так как приходится обращаться к системе, то для того, что бы сделать такое приложение кросс-платформенным нужно учесть все возможные OS, на которых предполагается запус этого приложения.
Вот не большой пример под винду:
Код

#!/usr/bin/perl -w
use strict;
use LWP::Simple;

# Запрашиваем URL
START:
print "URL: ";
chomp(my $url = <STDIN>);

# Проверим действительно ли это живая ссылка
if (grep {defined} head $url) {
    eval { exec("start $url") };
    if ( $@ ) {
         print "System error: $@\n";
         exit 0;
    }
} else {
    print "URL is not valid :(\n";
    goto START;
}

Я тут воспользовался goto, но по сути это не важно, можно было бы заюзать бесконечный цикл.

Тебе нужно проверить OS и в зависимости от того, в какой системе выполняется программа, давать соответствующую команду системе.  Для проверки OS можешь воспользоваться переменной $^O.

PS: Если я что-то не правильно понял, то опиши подробнее.

Автор: HalkaR 24.8.2006, 10:46
korob2001, именно то, что мне нужно - спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)