Этот сценарий можно с таким же успехом использовать для загрузки файла с FTP-сервера, как показано ниже.
% get_url.pl ftp: //www.cpan.org/CPAN/RECENT
Этот сценарий позволяет даже получать статьи групп новостей, например, по теме - кабель и провода, если известен соответствующий идентификатор сообщения.
Все эти функциональные средства предоставляет сценарий длиной всего 10 строк.
Выборка URL с использованием объектно-ориентированного интерфейса
# !/usr/local/bin/perl # Файл: get_url.pl use strict; use LWP; шу $url = shift; my $agent = LWP: :UserAgent->new; my $request = HTTP::Request->new (GET—> $url) ; my $response = $agent->request($request); $response->is_success or die "$url: ", $response->message,"n"; print $response -> content;
Проведем анализ программы.
Строки 1-3. Загрузка модулей. Включена строгая проверка синтаксиса и загружен модуль LWP.
Строка 4. Чтение URL. Требуемый URL считывается из командной строки.
Строка 5. Создание объекта LWP::UserAgent. Создается новый объект агента пользователя LWP::DserAgent путем вызова метода new ( ) этого модуля. Агент пользователя обладает способностью выдавать запросы на удаленные серверы и возвращать их ответы.
Строка 6. Создание нового объекта HTTP::Request. Вызывается метод HTTP::Request ->new() и ему передается указание об использовании метода запроса “get” и требуемый URL. В результате создается новый объект HTTP::Request.
Строка 7. Выполнение запроса. Вновь созданный объект HTTP::Request передается методу request () агента пользователя. В результате на удаленный сервер выдается запрос и возвращается объект ответа HTTP::Response.
Строки 8, 9. Печать ответа. Вызывается метод is_success () объекта ответа для определения того, был ли запрос выполнен успешно. Если нет, то вызывается функция die с сообщением сервера об ошибке, которое возвращено методом message () объекта ответа. В ином случае выполняется выборка и вывод содержания ответа путем вызова метода content () объекта ответа.