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

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

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 ( кроссплатформенного )

Читайте также:  Драйвера beats audio для hp pavilion dv7 windows 10

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

Как запускать скрипты через консоль

Довольно часто мне задают вопрос о том, как запустить скрипт через консоль Windows. Многие запускают скрипты двойным кликом и не могут понять, почему скрипт прекращает свою работу. Поэтому решил написать небольшую инструкцию по запуску Perl-скриптов через консоль.

Как запустить консоль:

2. Ввести «cmd» и нажать Enter

Появится подобное окно

Консоль поддерживает множество команд — ntcmds

Однако, для того, чтобы запустить скрипт, достаточно уметь пользоваться одной — cd.

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

Предположим, на диске C: есть директория script, и в ней лежит скрипт test.pl.
Для того, чтобы его запустить, требуется предварительно перейти в директорию со скриптом, набрав в консоли:

cd c:\script

и нажать Enter. На экране отобразится нечто подобное:

Теперь нужно ввести имя скрипта (test.pl) и нажать Enter:

Если скрипт не запустился, и консоль выдала подобный текст:

«test.pl» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

или

‘test.pl’ is not recognized as an internal or external command,
operable program or batch file.

То запускать придется так:

c:\perl\bin\perl.exe test.pl

c:\perl\bin\perl.exe — путь до интерпретатора Perl, test.pl — запускаемый скрипт. Естественно, у вас в системе должен стоять ActivePerl или какой-нибудь другой интерпретатор.

Надеюсь, теперь мне перестанут задавать вопросы про консоль.

Как запускать скрипты через консоль: 15 комментариев

Ну тут ещё можно добавить что должен быть установлен ActivePerl 😉

Как запустить Perl-скрипт под Windows без установки дополнительного ПО?

Существует один проект — ExifTool — для работы с метаданными различного рода форматов файлов. Сам проект написан полностью на Perl.

Проблема заключается в том, что необходимо сделать возможным запуск ExifTool под Windows, но без установки Strawberry Perl или ActiveState Perl. На официальном сайте есть версия под Windows, но при каждом запуске он распаковывается в папку %temp% и из-за этого параллельный запуск двух или болей копий не возможен. Как можно сделать запуск ExifTool без установки каких либо программ и чтобы размер был минимальным.

меня по сути утаивает вариант, если сделать две папки:

  • bin\perl.exe
  • bin\perl514.dll
  • папка lib, где находится сам ExifTool и все необходимые компоненты.

Я не знаю, а как мне сделать, чтобы у меня в папке lib были только необходимые компоненты, как это сделано в ExifTool версии под Windows.

И еще один вопрос. Как можно из ExifTool вытащить те скрипты, которые отвечают за работу с JPEG?

1 ответ 1

меня по сути утаивает вариант, если сделать две папки:

А так и можно 🙂 Только в PATH прописать путь к perl.exe и таскать это всё по разным машинам без установки, будет работать. Только соблюсти все зависимости от того, что распаковывается во временную папку.

Читайте также:  Crystaldiskmark аналог для linux

Обновление

  1. Устанавливаем perl.exe и необходимые dll в d:\perl\bin (в 5.12 их 6 штук)
  2. Копируем tmp\что-то\cache-exiftool-xxx\inc\lib в d:\perl\lib
  3. Запускаем perl.exe exiftool (exiftool лежит в tmp\что-то\cache-exiftool-xxx\inc\scripts)

Если ему чего-то не хватает — сам скажет.

Обновление 2

Урезанную версию perl мне ставить некуда, но под 5.12 выдранный из распаковки exiftool и перенесённый в другое место прекрасно работает. Даже без «своего» окружения: http://pastebin.com/21ywsgcY

Может криво объяснил. От перла (на примере 5.12) нужны только

Установка и начало работы с Perl

В ней вы узнаете, как установить Perl на Microsoft Windows и как начать использовать его на Windows, Linux или Mac.

Вы узнаете, как установить и настроить среду разработки, или, говоря простым языком: какой редактор или IDE использовать для Perl-программирования?

Также мы увидим стандартный пример «Hello World».

Windows

В Windows мы будем использовать DWIM Perl. Это пакет программ, содержащий компилятор/интерпретатор Padre, Perl IDE, и ряд модулей из CPAN.

Для начала зайдите на сайт DWIM Perl и откройте страницу загрузки DWIM Perl для Windows.

Скачайте исполняемый файл и установите его в вашу систему. Предварительно пожалуйста убедитесь, что у вас не установлена любая другая версия Perl.

Конечно, разные версии Perl можно заставить работать вместе, но как это сделать потребует дополнительных разъяснений. Поэтому пусть пока у вас в системе будет установлена одна единственная версия Perl.

Linux

Большинство современных Linux-дистрибутивов поставляются со свежей версией Perl. Её мы и будем использовать. В качестве редактора вы можете установить Padre — большинство дистрибутивов дают возможность сделать это с помощью стандартного менеджера пакетов. Или вы можете выбрать любой другой текстовый редактор. Если вы дружите с Vim или Emacs, используйте его. Если нет, попробуйте Gedit — простой и удобный.

Apple

Уверен, Маки также поставляются с предустановленным Perl, ну или вы можете легко установить его с помощью стандартных средств установки.

Редактор и IDE

Хотя я это и советую, вовсе не обязательно использовать Padre IDE, чтобы писать код на Perl. В следующей части учебника я перечислю пару редакторов и IDE, которые вы можете использовать для программирования на Perl. Но даже если вы выберете другой редактор, я бы рекомендовал — для пользователей Windows — установить упомянутый выше пакет DWIM Perl.

Он идет с большим количеством готовых Perl-модулей, это сэкономит вам массу времени и сил.

Видео

Вы можете посмотреть видео Hello world with Perl (англ.), которое я загрузил на YouTube. Также обратите внимание на Beginner Perl Maven video course (англ.).

Первая программа

Ваша первая программа будет выглядеть, например, так:

Рассмотрим её шаг за шагом.

Hello world

Как только вы установили DWIM Perl, вы можете нажать на «Пуск -> Все программы -> DWIM Perl -> Padre», откроется редактор с пустым новым файлом.

Как вы, наверное, заметили, команды в Perl заканчиваются точкой с запятой ; . Знак \n используется для обозначения перевода строки. Строки заключены в двойные кавычки » . Функция print печатает текст на экран. В результате выполнения этого кода Perl выведет на экран текст, заканчивающийся переводом строки.

Сохраните файл как hello.pl, чтобы затем вы запустить его командой «Run -> Run Script». Появится новое окно с результатами работы программы.

Готово, вы писали ваш первый Perl-скрипт.

Читайте также:  Logitech quickcam express драйвер windows 10

Теперь давайте его немного усовершенствуем.

Perl в командной строке для тех, кто не пользуется Padre

Если вы не используете Padre или другую IDE, вы не сможете запустить скрипт прямо из редактора. По крайней мере, по умолчанию. Нужно будет открыть shell (или cmd в Windows), перейти в каталог, где вы сохранили hello.pl и набрать команду:

Так Perl-скрипты запускаются из командной строки.

say() вместо print()

Давайте немного улучшим наш однострочный Perl-скрипт:

Для начала нужно указать минимальную версию Perl, которую мы хотели бы использовать:

Теперь можете запустить скрипт еще раз, выбрав в меню «Run -> Run Script», или нажав клавишу F5. Перед запуском файл будет автоматически сохранен.

В целом, указание минимальной требуемой версии Perl является хорошей практикой.

В нашем случае это добавляет в Perl также несколько новых функций, в том числе оператор say() . say похож на print , но короче, и автоматически добавляет в конце символ перевода строки.

Вы можете переписать ваш код так:

Мы заменили print на say и убрали \n с конца строки.

Сейчас вы скорее всего используете Perl версии 5.12.3 или 5.14. Большинство современных Linux-дистрибутивов версии поставляются с Perl 5.10 или более поздней версии.

К сожалению, кое-где ещё работают старые версии Perl. В них нет оператора say() , и, кроме того, могут потребоваться некоторые другие изменения в примерах, которые мы рассмотрим позднее. В дальнейшем я буду отмечать, если используются возможности версии 5.10.

«Ремни безопасности»

Помимо прочего, в каждой скрипт я настоятельно рекомендую добавлять несколько команд, меняющих поведение Perl. Это две строки, так называемые прагмы, которые действуют подобно флагам компилятора в других языках:

Команда use говорит Perl, что нужно загрузить и использовать каждую прагму.

strict и warnings помогут вам отловить некоторые общие ошибки в коде, а иногда даже просто не дадут вам их сделать. Это очень удобно.

Чтение ввода

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

$name называется скалярной переменной, или просто: скаляр.

Переменные объявляются при помощи ключевого слова my. (По секрету заметим, что на самом деле это одно из требований, добавленных прагмой strict ).

Скалярные переменные всегда начинаются со знака доллара: $ . это инструмент для чтения строки с клавиатуры.

Введите наш новый код и запустите его, нажав клавишу F5.

Он спросит имя. Введите его и нажмите ENTER, чтобы сообщить Perl об окончании ввода.

Обратите внимание, что вывод нашей программы слегка кривой: запятая после имени появляется на новой строке. Это произошло потому, что ENTER, который вы нажали после ввода имени, попал в переменную $name .

Избавляемся от переводов строк

Это настолько распространенная в Perl задача, что есть специальная функция chomp , которая удаляет концевой перенос строки.

Заключение

В начало каждого скрипта, который вы пишете, всегда добавляйте use strict; и use warnings; . Также крайне рекомендуется добавлять use 5.010; .

Задания

Я обещал задания.

Попробуйте запустить следующий скрипт:

Он не выводит сообщение в одну строку. Почему? Как это исправить?

Задание №2

Напишите скрипт, который запрашивает у пользовательницы два числа, одно за другим. Затем выводит сумму этих двух чисел.

Что дальше

Следующая часть нашего учебника расскажет про редакторы, IDE и среду разработки для Perl.

Оцените статью