60. Модуль HTTP::UserAgent в Perl 6

Давайте посмотрим, «как скачать страницу из интернета» на Perl 6. Один из удобных способов — воспользоваться модулем HTTP::UserAgent, чей интерфейс очень похож на тот, что был в Perl 5.

Установка модуля с помощью утилиты zef:

$ zef install HTTP::UserAgent

Есть смысл сразу установить поддержку SSL, чтобы иметь возможность ходить на https-адреса:

$ zef install IO::Socket::SSL

Теперь нам доступен весь мир. Пишем программу, которая будет загружать и печать код указанной страницы:

use HTTP::UserAgent;

sub MAIN($url) {
    my $ua = HTTP::UserAgent.new;
    my $response = $ua.get($url);

    say $response.status-line;
    say $response.content if $response.is-success;
}

Обратите внимание, что автор модуля использует в именах методов дефисы, а не символы подчеркивания: status-line, is-success.

Пробуем:

$ perl6 ua.pl https://perl6.ru/content | less

200 OK
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">

<title>Содержание – Вечерний Perl 6</title>