Perl в командной строке - примеры использования

Синтаксис запуска интерпретатора Perl:

perl [ключи] файл аргументы

Перед стартом Perl ищет скрипт (программу) в следующем порядке:

  1. В командной строке если указан ключ '-e'
  2. Содержимое файла указанного в командной строке. В первой строке можно указывать #!/usr/bin/perl для "автоматического" запуска скрипта.
  3. Стандартный ввод/вывод, если не указан файл или аргументы, содержащие имя файла. Для передачи аргументов скрипту из стандартного потока, имя файла в командной строке обозначается символом '-'.

В методах 1 и 2 Perl сканирует строки, начиная с первой, если не указан ключ '-x', в противном случае началом программы считается строка с символами '#!' в начале и содержащая слово 'perl'. Концом программы считается строка 'END'. В строке с '#!' можно указывать и ключи. Например '#!/bin/perl -d' для отладки программ.

После "обнаружения" скрипта Perl компилирует его целиком во внутреннее представление. Если обнаруживаются ошибки, то выполнение прекращается. Если ошибок нет, он выполняется. Если скрипт заканчивается без команд exit() или die(), то по умолчанию выполняется команда exit(0), обозначающая нормальное завершение программы.

Чтобы заменить foo на bar в нескольких файлах, выполните следующую команду Perl:

> perl -pi~ -e 's/foo/bar/' [files]
  • ключ p означает, что подстановка выполняется в каждой строке указанного файла
  • ключ i означает, что после подстановки результаты записываются обратно в файл

Как использовать Perl в командной строке для поиска выходных данных других программ?

Добавить к именам файлов, имена которых начинаются с цифр, расширение «bak»: Код для Unix дистрибутивов:

ls | perl -lne 'rename $_, "$_.bak" if /^\d+/'

Код для Windows с установленным интерпретатором Perl:

dir /b | perl 	-lne "rename $_, \"$_.bak\" if /^\d+/"
open my $pipe, "$command |";
while (<$pipe>) {
    # do stuff
}
close $pipe;

Этот код позволяет

  1. избежать сбора всех выходных данных команды в память сразу
  2. дает вам более точный контроль над выполнением команды. Например, вы можете избежать того, чтобы команда была проанализирована shell.

Рекомендуемые обзоры инструментов

Обзор и отзывы об антидетект браузере Aurorium AI.
Aurorium AI: Обзор и отзывы

Инновационный браузер с поддержкой ИИ

Обзор и отзывы об антидетект браузере Undetectable.
Undetectable Browser: Честный обзор

Бесконечные профили для арбитража

Антидетект браузер Vision: обзор и реальные отзывы.
Браузер Vision: Реальные отзывы

Надежное решение для мультиаккаунтинга

Обзор и отзывы об антидектет браузере Dolphin.
Dolphin {anty}: Обзор функционала

Лидер рынка для арбитражников

📌 Умный подбор сервера: Официальный инструмент проекта DIEG — агрегатор DIEG Finder. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти и сравнить по параметрам подходящий VPS/VDS сервер для любых задач хостинга.
📌 Инфраструктура для разработчиков: Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов читайте здесь.