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

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

  • автор:

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

Довольно часто мне задают вопрос о том, как запустить скрипт через консоль 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 или какой-нибудь другой интерпретатор.

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

//kaimi.io/wp-content/uploads/2020/04/6807153.jpegАвтор Kaimi Опубликовано 9 марта, 2010 8 марта, 2010 Рубрики Windows Метки cmd, Perl, командная строка, консоль, консоль windows

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

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

Упс. Сорри, пропустил последний абзац.

жги ещё!
> следующая статья — «как запускать пхп скрипты через консоль»

Kaimi :

Окей, постараюсь. Главное чтобы мне перестали задавать подобные вопросы. grep подсказывает, что на данный момент мне этот вопрос задавали более 40 раз

Каими все равно молодец 🙂

кайми,а не проще создать в папке со скриптом bat файл и вписать в нем cmd, после этого он сразу сам путь выводит, а то вечно с путями голяк)

Kaimi :

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

не все это опять же знают, но все равно молодец что такое написал. Я этого тоже когда то не знал.

А что касается путей,когда у тебя русская винда и ты распаковываешь куда-нить в мои документы-руками путь геморно набрать))

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

Perl Tutorials — Herong’s Tutorial Examples — v6.01, by Dr. Herong Yang

∟ Running Perl Scripts on Windows Systems

This section provides a tutorial example on how to run Perl scripts with ActivePerl on Windows systems. To make a Perl script file executable, you need to set the script file name extension to ‘.pl’.

There are many ways to run Perl scripts with ActivePerl on Windows:

1. Run the «perl» command with the Perl script included in the command line. For example, enter the following command line in a command window:

This is a cool way to run a Perl script quickly. But you can only run programs that are small enough to fit into one command line.

Also note that double quote («) is used to put the entire program code as one command line parameter. Any double quote inside the program needs to be protected as (\»).

2. Run the «perl» command with the Perl script supplied from the standard input steam. For example, enter «perl» in a command window. Then enter the program source code followed by Control-Z, which is the End Of File (EOF) indicator:

Obviously, you can enter a much longer script in this way. But the script is not save permanently.

3. Run the «perl» command with the Perl program supplied in a file. For example, enter the following program in a file called hello.prg:

Then enter the following command in a command window:

4. Run Perl program files as commands. You can do this, only if you name your Perl script files with «.pl» as file name extension, because «.pl» has been associated with the «perl» command during the installation. For example, enter the following program in a file called hello.pl:

Then enter the following command in a command window:

It works! And this is the best way to run Perl scripts on Windows systems.

Как запустить 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_MACHINESystemCurrentControlSetServicesw3svcparametersScript Map

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

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

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

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

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

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

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

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

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

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

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

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

Установка и начало работы с 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-скрипт.

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

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 ).

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

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

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

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

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

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

Заключение

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

Задания

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

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

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

Задание №2

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

Что дальше

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

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

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