Как запустить perl скрипт на windows
Перейти к содержимому

Как запустить perl скрипт на windows

  • автор:

Установка Perl под Windows

В настоящее время варианты PERL (так называемые «порты» (ports) ) существуют для многих разных машин и операционных систем, в том числе и для Windows 9x, и Windows NT. Искать их надо в первую очередь на сайте CPAN (Comprehensive Perl Archive Network) — www.cpan.org. Там же можно найти многочисленные модули, программы, документацию и другие материалы, отосящиеся к Perl. Порты perl для разных платформ находятся в разделе Browsing -> Perl binary distributions («ports»)

Для Windows платформ существуют две основных «линии» Perl — так сказать, «классическая» и от фирмы ActiveState (www.activestate.com). Фирма ActiveState выпускает «свои» порты Perl для Win32, средства для запуска Perl как ISAPI extension (ISAPI — это интерфейс серверных расширений веб-серверов Microsoft — PWS и IIS) и различные утилиты разработчика. Последние уже продаются за деньги (на сайте — демо-версии), в то время как PERL можно скачать и использовать бесплатно.

Существуют и другие, менее известные порты PERL для Win32.

Для работы нужен perl версии 5 или выше. Лично я уже 2 года пользуюсь Perl 5.003_07 от ActiveState. Узнать версию интерпретатора можно командой perl -v .

Установка Perl

Процесс установки Perl из дистрибутива не представляет собой ничего сложного. Программа установки создаст папку для Perl и подпапки в ней, разместит необходимые файлы, а также пропишет путь к файлу perl.exe в autoexec.bat, а также необходимые ключи реестра. Теперь Вы можете запустить Perl-скрипт, просто введя в командной строке:
perl .

Сразу после установки Perl Вы не сможете запускать CGI-скрипты через Ваш веб-сервер. Для того, чтобы это было возможно, надо «прописать» perl в установках веб-сервера как «script handler» (программа, поддержи- вающая скрипты). Как? Это зависит от веб-сервера.

Вообще, существует 2 типа CGI-скриптов: «бинарные» (откомпилированные в исполняемый код программы) и «интерпретируемые» — к которым относятся и Perl-скрипты. Важное отличие между ними заключается в том, что вторым нужен так называемый «script handler»-программа-интерпретатор, исполняющая скрипт. Для web-сервера perl.exe и является тем самым «script handler»-ом.

В большинстве web-серверов для Windows (включая ее «родные» PWS и IIS) «бинарные» CGI-скрипты поддерживаются автоматически. Принадлежность же интерпретируемых скриптов к определенному handler-у определяется расширением файла (исключение — в некоторых «изначально UNIX-овских» web-серверах, например Apache, handler определяется первой строчкой скрипта, начинающейся с «#!»).

Установка поддержки Perl-скриптов в PWS и IIS

Нижеследующие рекомендации по установке Perl для IIS/PWS были опробованы на PWS в составе Windows95 OSR2.

В PWS и IIS данные о расширениях скриптов находятся в системном реестре Windows в разделе
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\w3svc\parameters\Script Map

В частности, если Вы хотите, чтобы файлы с расширениями cgi и pl запускались как Perl-скрипты, Вам надо прописать следующие параметры в вышеуказанный раздел:

«.cgi»=»(путь_к_Perl.exe) %s %s»

«.pl»=»(путь_к_Perl.exe) %s %s»

Если у Вас perl.exe установлен в каталог C:\Perl\bin\, то эти параметры будут иметь вид:

«.cgi»=»C:\Perl\bin\perl.exe %s %s»

«.pl»=»C:\Perl\bin\perl.exe %s %s»

В тех папках web-сервера, где планируется размещать Perl-скрипты, должно быть разрешение на их исполнение (в PWS это настраивается через веб-интерфейс).

Упрощение запуска программ на Perl

Запуск обычных (не CGI) Perl-программ можно значительно облегчить, сделав его возможным стандартным для Windows способом — двойным щелчком на значке программы.

Я предпочитаю для обычных Perl-программ использовать расширение .pl, чтобы не путать их с cgi-скриптами, обычное расширение у которых .cgi

Чтобы упростить задачу, я создал файл с необходимыми ключами реестра. Скачать его можно здесь. Если Perl у Вас стоит в папке C:\Perl\bin\, то Вам достаточно скачать его, разархивировать и дважды щелкнуть по его значку. После этого все Perl-программы с расширением .pl можно будет запускать двойным щелчком.

Если у Вас Perl установлен в другой папке, Вы должны отредактировать файл, подставив вместо C:\\Perl\\bin\\perl.exe Ваш путь к Perl. Обратите внимание, что вместо одной обратной косой черты Вы должны поставить две!

Автор: Андрей Черный
angel07@inbox.ru

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

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

В командной строке если указан ключ ‘-e’

Содержимое файла указанного в командной строке. В первой строке можно указывать #!/usr/bin/perl для «автоматического» запуска скрипта.

Стандартный ввод/вывод, если не указан файл или аргументы, содержащие имя файла. Для передачи аргументов скрипту из стандартного потока, имя файла в командной строке обозначается символом ‘-‘.

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

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

Пример 1 Однострочные программы на Perl в командной строке для замены

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

> perl -pi~ -e 's/foo/bar/' [files]

ключ p означает, что подстановка выполняется в каждой строке указанного файла
ключ i означает, что после подстановки результаты записываются обратно в файл

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

Пример 2 Однострочные программы на Perl в командной строке для замены

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

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

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

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

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

open my $pipe, "$command |"; while ($pipe>) { # do stuff } close $pipe;

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

избежать сбора всех выходных данных команды в память сразу

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

Инглекс (Englex) — онлайн школа английского языка.

11 Самых Популярных Статей

  1. ulimit (limits.conf) управление ограничениями ресурсов ОС Linux
  2. 7 способов сравнения файлов по содержимому в Windows или Linux
  3. Что такое страны tier 1,2,3 и как правильно выбрать ГЕО для рекламной кампании
  4. Настройка, использование GitLab CI/CD
  5. Что означает «> /dev/null 2>&1» или перенаправление STDIN, STDOUT и STDERR?
  6. Настройка и использование сервера OpenVPN в Linux
  7. PostgreSQL: создать БД, пользователя, таблицу, установить права
  8. Виды кодировок символов
  9. Использование rsync в примерах
  10. my.cnf примеры конфигурации MySQL, MariaDB
  11. dig проверка DNS сервера

11 Самых Популярных Обзоров

  1. ТОП 4 лучших антидетект браузеров в 2023 (Бесплатные & Платные)
  2. Обзор и отзывы о Namecheap в 2023 году
  3. Хостинг Zomro (Зомро)
  4. Обзор браузера Dolphin
  5. ТОП 3 Проверенных VPN, Прокси, Хостинг VPS Турция в 2023
  6. Что такое абузоустойчивый хостинг (bulletproof)?
  7. Обзор и отзывы о 4VPS (FourServer) в 2023 году
  8. Обзор и отзывы AstroProxy в 2023 году
  9. Обзор и отзывы о PQ Hosting в 2023 году
  10. Обзор и отзывы о Hostinger в 2023 году: преимущества и недостатки
  11. Проверенные VPS / VDS хостинг провайдеры

Как запустить perl скрипт на windows

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

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

  • -O цифры
    Код символа-разделителя записей. По умолчанию \0.
  • -a
    Включает режим автоматического разделения (split) переменной $_ в массив $F. Применяется с ключами -n и -p.
  • -c
    Выполняется синтаксическая проверка скрипта и выход без запуска.
  • -d
    Запуск в режиме интерактивной отладки.
  • -D число или D список
    Установить флаги отладки Perl. Например -d14 проследить как Perl исполняет вашу программу.

1 p Синтаксический разбор
2 s Состояние стека
4 l Состояние стека имен
8 t Трассировка исполнения
16 o Создание оператора узла
32 c Строковое/числовое преобразование
64 p Вывод команды препроцессора для -P
128 m Распределение памяти
256 f Обработка формата
512 r Синтаксический разбор регулярных выражений
1024 x Дамп синтаксического дерева
2048 u Проверка защиты
4096 L «Утечка» памяти
8192 H Дамп хеша
16384 X Распределение scratchpad
32768 D Очистка
perl -p -i.old -e "s/рядовой/ефрейтор/" file
    Поменять все слова «рядовой» на «ефрейтор» в файле file, а оригинал записать в файле file.old
  1. Отбрасывает последний символ читаемых строк для режимов -n и -p
  2. Присваивает указанное значение переменной $\. Таким образом к концу каждой строки выводимой оператором print добавляется этот символ.

Как запустить скрипт Perl

Author24 — интернет-сервис помощи студентам

Perl не входит в стандартную поставку ОС Windows,
но его можно бесплатно скачать с нескольких официальных сайтов фирм-поставщиков
программных инструментов, свободно использовать и даже распространять в составе своих
собственных инструментов.

установка вместе с закачкой занимает 5-10 минут в зависимости от.

После установки со всеми умолчаниями( рекомендованный способ ):

А) появится папка C:\Perl

Б) папка с подкаталогами займёт место ~ 100Мб; в дальнейшем может расти за счет установки доп. модулей;
модули лежат в простом текстовом виде, частью системы Windows не являются и могут быть просто удалены вместе с c:\perl, если perl больше не нужен

В) файлы с расширением .pl будут зарегистрированы и привязаны к приложению c:\perl\bin\perl.exe
что позволит запускать их кликом мышки или простым набором только имени файла в ком. строке( см. ниже )

Г) В системной переменной PATH пропишется путь c:\perl\bin

Д) само приложение Perl является консольным приложением Windows, поэтому рекомендуется запускать его
в стандартном консольном окне cmd/bat

общий способ запуска такой:

c:\Users\User> perl file.pl аргументы
либо однострочником

c:\Users\User> perl -E « say ‘Привет, пользователь. ‘ «

как было сказано в пункте В, если дополнительные ключи запуска не требуются, можно просто набрать file.pl
и скрипт выполнится

Е) Шрифт консольного окна(в свойствах окна) рекомендуется выставить TrueType Lucida Console полюбившегося размера,
а ширину окна и буфер пошире и поглубже, не скупитесь.

Ж) Если вдруг понадобятся дополнительные модули, то они добавляются с помощью команды

c:\Users\User> ppm install Net::Ftp
где Net::Ftp — пример имени модуля. сам модуль лежит на сайте ActiveState, поэтому интернет должен быть при установке модуля включен, в дальнейшем нет.
Возможны и другие способы, за справками по этому поводу, а также и по другим перл-поводам обращайтесь на ветку PERL форума

З) Документация по Perl доступна в текстовом виде по команде perldoc,
в HTML-виде через меню [Пуск]->ActivePerl, а так же на сайте http://perldoc.org

И) Задачи, которые можно автоматизированно решать с помощью Perl ( вкратце ):

1) Обработка текста ( нахождение строк, слов, замена, удаление, преобразование )
в том числе и Unicode ( UTF-8, UTF-16 ),
в том числе гипертекстовые XML, HTML — обработка тэгов,
в том числе XLS, XLSX(даже без наличия установленного Excel) , CSV,
в том чиле конфигурационные .INI
2) То же, но не для текстовых форм, а для бинарных
3) Манипуляции с файлами и каталогами ( поиск, копирование, переименование, чтение и замена атрибутов )
4) Системное администрирование( доступ к локальным пользователям, буферу обмена, AD, Реестру, NTFS );
Программирование по технологии Microsoft ActiveX ( как VBA )
5) Системное администрирование путём склеивания между собой консольных команд ОС Windows
6) Универсальный доступ к любым базам данных [MS SQL, Oracle]( через драйвера БД), создание своих систем хранения
7) Сетевой доступ FTP ( закачка, загрузка, манипулирование итд )
8) Сетевой терминальный доступ Telnet, SSH, программирование маршрутизаторов, коммутаторов, модемов
9) WWW-доступ, закачка страниц, сайтов, создание web-роботов
10) Web-программирование(сайты, интерфейсы, управление изображениями), создание Web-серверов(автономных или в связке с Apache, NGINX )
11) Общее сетевое программирование( сокеты, клиенты, серверы, сниферы, анализаторы трафика )
12) Почта ( отправка писем, прием писем, манипулирование почтовыми ящиками )
13) Математическое программирование ( матрицы, шифрование )
14) Создание графического пользовательского интерфейса GUI ( кроссплатформенного )

Язык Perl является кроссплатформенным, поэтому при аккуратном программировании
написанная программа будет работать одинаково на Windows, Linux, Mac OS X, Solaris, AIX, OpenVMS, a также мобильных телефонах Android

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *