Jump to content

Perl (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Perl. Дата последней синхронизации: 9 марта 2026. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

From Wikipedia:

Perl это высокоуровневый динамический язык общего применения с интерпретацией.
Perl заимствует функции из других языков программирования включая C, sh, AWK, и sed. Он предоставляет конвейеры обработки текста без ограничений по длине данных, присущих основным утилитам UNIX.
Perl завоевал широкую популярность в середине 90х как CGI скриптовый язык, отчасти из-за его мощных постоянных выражений и способностей парсинга строк.

Установка

Установите пакет perl.

Команды

Интерпретатор языка Perl:

$ perl

Сообщение о багах Perl:

$ perlbug

Открыть документацию Perl в формате POD:

$ perldoc

Отправить благодарственное письмо разработчикм и авторам Perl:

$ perlthanks

Управление пакетами

Comprehensive Perl Archive Network (CPAN) это репозиторий с более чем 250,000 програмными модулями и сопутствующей документацией написанными на языке Perl более чем 12,000 авторами.

Также CPAN это имя Perl модуля, CPAN.pm, который используется для загрузки и установки Perl программ из CPAN архива.

Pacman и AUR

Некоторое число популярных CPAN модулей доступны как пакеты в репозитории Arch. Ещё больше модулей доступны в AUR.

CPAN.pm

Модуль CPAN.pm включён в Perl. Он может быть использован интерактивно из терминала или в скрипте Perl.

Конфигурация cpan

Перед первым использованием, модуль должен быть сконфигурирован. Это делается интерактивно из терминала с (приведено немного вывода):

$ cpan
CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes]

Автоматическая конфигурация подходит для большинства пользователей. Ответив yes, конфигурация продолжится с:

To install modules, you need to configure a local Perl library directory or
escalate your privileges. CPAN can help you by bootstrapping the local::lib
module or by configuring itself to use 'sudo' (if available). You may also
resolve this problem manually if you need to customize your setup.

What approach do you want?  (Choose 'local::lib', 'sudo' or 'manual')
 [local::lib]

Если вы хотите чтобы cpan устанавливал модули в вашу домашнюю директорию выберите local::lib. Для установки по всей системе выберите sudo. Выбрав sudo конфигурация завершается:

Autoconfiguration complete.

commit: wrote '/home/пользователь/.cpan/CPAN/MyConfig.pm'

Выбор варианта local::lib приведёт к установке дополнительных модулей.

Выбор не использовать автоматическую конфигурацию позволяет пользователю установить опции cpan интерактивно в терминале. Таблица ниже показывает некоторые имена опций с кратким описанием и значением по-умолчанию. Более детальная информация будет показана для каждой опции во время конфигурирования.

Name Description Default
cpan_home CPAN директория сборки и кэширования $HOME/.cpan
keep_source_where Загрузочная директория $HOME/.cpan/sources
build_dir Директория процесса сборки $HOME/.cpan/build
prefs_dir Директория с опциями кастомизируемых модулей $HOME/.cpan/prefs
build_cache Размер кэша для директории сборки 100MB
cleanup_after_install Удалить директорию сборки после успешной установки No
shell Предпочитаемая оболочка /bin/bash
halt_on_failure Ждать при неудаче No
colorize_output Включить цветной вывод No
histfile Расположение файла истории $HOME/.cpan/histfile
histsize Размер файла истории 100 lines

Кофигурационный файл $HOME/.cpan/CPAN/MyConfig.pm может быть отредактирован текстовым редактором по вашему выбору.

Примеры использования

Чтобы просто установить модули пропишите их как параметры к cpan (несколько имён модулей разделены пробелами):

$ cpan Acme::MetaSyntactic

Приведённые примеры исполняются в интерактивной оболочке cpan, открывающейся по команде:

$ cpan

Отобразить информацию о модуле:

cpan[1]> m Acme::MetaSyntactic
Reading '/home/пользователь/.cpan/Metadata'
  Database was generated on Fri, 08 Dec 2017 02:17:03 GMT
Module id = Acme::MetaSyntactic
    CPAN_USERID  BOOK (Philippe Bruhat (BooK) <book@cpan.org>)
    CPAN_VERSION 1.014
    CPAN_FILE    B/BO/BOOK/Acme-MetaSyntactic-1.014.tar.gz
    INST_FILE    (not installed)

Отобразить README модуля:

cpan[2]> readme Acme::MetaSyntactic
Acme::MetaSyntactic - Themed metasyntactic variables

DESCRIPTION

When writing code examples, it's always easy at the beginning:

   my $foo = "bar";
   $foo .= "baz";   # barbaz
...

Установите модуль:

cpan[3]> install Acme::MetaSyntactic

Перезапустите конфигурацию cpan:

cpan[1]> o conf init

Привязка виджетов

Доступны указанные инструменты виджетов для привязки:

  • gtk2-perl — GTK2 привязки
https://gtk2-perl.sourceforge.net/ || gtk2-perlAUR
  • perl-gtk3 — GTK3 привязки
https://metacpan.org/release/Gtk3 || perl-gtk3
  • Perl/TK — Tk привязки
https://search.cpan.org/dist/Tk/ || perl-tk
  • wxPerl — wxWidgets привязки
http://www.wxperl.it/ || perl-wxAUR
  • Prima — Мультиплатформенный графический набор инструментов Perl
https://metacpan.org/release/Prima || perl-primaAUR

Чтобы использовать их с Perl, вам нужно установить соответствующие наборы виджетов.

Поддержка IDE

Разработка в Jetbrains IDE

Если вы используете JetBrains IDE, к примеру IntelliJ Idea, установите perl-bundle-camelcadeAUR. Затем установите Perl плагин. Затем перейдите в Параметры > Языки и Фреймворки > Perl5. В поле Perl 5 Interpreter выберите Добавить Системный Perl. Теперь вы можете запускать/отлаживать конфигурацию для вашего проекта.

Советы и хитрости

Perl среда разработки

perlbrew и plenvAUR автоматизируют установку и управление несколькими версиями perl в вашей домашней директории, позволяя вам устанавливать модули локально без конфликтов с системным Perl.

Улучшенное управление модулями

cpanminus

cpanminus расширяет управление модулями, стремясь быть без конфигурации и интегрироваться с local::lib.

Установите пакет cpanminus.

Смотрите cpanminus документацию для примеров.

ucpan

ucpan это программа для обновления модулей CPAN (в особенности установленных в local-lib). Для установки,выполните:

$ cpan App::ucpan

Bundle::CPAN

Установка Bundle::CPAN добавит множество приятного функционала CPAN.pm.

$ cpan Bundle::CPAN

Смотрите также

Perl

CPAN

Обучающие материалы