Встановлення Perl на власному компʼютері

Дізнайтеся, як встановити Perl на власному компʼютері, щоб розвʼязувати вправи Exercism на своїй машині


Нотатки про версії Perl

Трек орієнтований на найновіший стабільний випуск Perl. Можна використовувати й старіші версії Perl, але для сумісності, ймовірно, доведеться адаптувати надані файли-заготовки. Якщо скористатися версією, зазначеною у файлах-заготовках, не вдається, радимо замінити use v5.XX; на такий код:

use strict;
use warnings;
use feature qw<signatures>;

Якщо файл-заготовка містить use experimental qw<class>;, а версія Perl, яку ми використовуємо, цього не підтримує, можна замінити його на use Feature::Compat::Class; або скористатися альтернативною системою обʼєктно-орієнтованого програмування, наприклад Moo.

Unix/Linux/Mac OSX

Perl, найімовірніше, уже встановлено, але ця версія може бути не найновішою. Виконайте perl -v, щоб перевірити свою версію. Якщо потрібна новіша версія, зазирніть до розділу «Інші варіанти».

У Fedora/Red Hat/CentOS деякі базові модулі не входять до складу Perl. Щоб їх встановити, виконайте команду yum install perl-core.

Windows

Strawberry Perl: Perl для Windows, на 100% з відкритим кодом, який нічим не відрізняється від Perl на інших платформах; зокрема, він дає змогу використовувати модулі з CPAN без потреби в бінарних пакетах.

Можна встановити його безпосередньо із сайту або скористатися менеджером пакетів chocolatey.

Інші варіанти

  • asdf: Менеджер версій інструментів, який дає змогу встановлювати кілька мов, зокрема Perl, доступний як плагін спільноти.
  • perlbrew: Інструмент для керування кількома інсталяціями Perl у каталозі $HOME. Це повністю ізольовані світи Perl.
  • plenv: Встановлює різні версії Perl у домашньому каталозі, дає змогу встановлювати модулі локально та перемикатися на довільні версії Perl у командній оболонці.
  • ActivePerl Community Edition: Безкоштовний, готовий до встановлення дистрибутив Perl для Windows, Linux і Mac OS X, призначений для розробників зі спільноти або проєктів з відкритим кодом, які не є критичними для бізнесу чи місії.

Встановлення потрібних модулів

Якщо використовується версія Perl, старіша за 5.40, потрібно встановити набір для тестування Test2::V0. Також потрібно встановити або Feature::Compat::Class, або альтернативну систему обʼєктно-орієнтованого програмування для вправ з ООП. Скористайтеся наведеними нижче вказівками, щоб це налаштувати (або візьміть улюблений інсталятор модулів, якщо вже маєте досвід роботи з Perl):

local::lib

  • Переконайтеся, що інтерфейс командного рядка Exercism уже встановлено й налаштовано. Команда exercism workspace має показати потрібний шлях.

  • Завантажте інсталятор модулів cpm і за допомогою нього встановіть його самого, local::lib, Test2::V0 та Feature::Compat::Class у каталог exercism/perl5:

# *nix
curl -sL --compressed https://git.io/cpm | \
  perl - install -L $(exercism workspace)/perl5 App::cpm local::lib Test2::V0 Feature::Compat::Class

# Microsoft PowerShell
(Invoke-WebRequest -UseBasicParsing 'https://git.io/cpm').Content |
  perl - install -L "$(exercism workspace)/perl5" App::cpm local::lib Test2::V0 Feature::Compat::Class
  • Запустіть local::lib, щоб налаштувати середовище для використання модулів, установлених у exercism/perl5:
# *nix
eval $(perl -I$(exercism workspace)/perl5/lib/perl5 -Mlocal::lib=$(exercism workspace)/perl5)

# Microsoft PowerShell
perl -I"$(exercism workspace)/perl5/lib/perl5"
  -M"local::lib=--shelltype=powershell,$(exercism workspace)/perl5" | Invoke-Expression

Зміни середовища після наведеної команди не збережуться, і якщо перезапустити командну оболонку, команду доведеться виконати знову. Щоб середовище налаштовувалося автоматично щоразу, додайте наведену команду до свого .bashrc (або його аналога в *nix) чи PowerShell_profile.ps1.

Документація local::lib доступна тут.

Пакети ОС

Або ж у менеджері пакетів операційної системи може бути пакет Test2 Suite, який можна встановити. Серед доступних варіантів: