Обработка версий Perl в Windows - PullRequest
4 голосов
/ 23 ноября 2010

Возможно использование другой версии Perl без использования SET или манипуляции с переменной окружения "PATH"

Мне нужен механизм, который позволяет мне работать с разными версиями Perl для разных скриптов, не влияя на конфигурацию системы. (например, я использую Perl ver 5.6.1 для некоторых скриптов и perl 5.8.8 для других скриптов Perl)

Ответы [ 3 ]

2 голосов
/ 23 ноября 2010

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

Например, в моей системе установлен ClearQuest, и я должен использовать cqperl (версия Perl ClearQuest) для выполнения сценариев, которые управляют проблемами в ClearQuest. Тем не менее, если мне нужно манипулировать данными SQL из нашей базы данных, я должен использовать свой ActivePerl, потому что я не могу добавить модуль DBI в cqperl.

Я связал суффикс *.pl с ActivePerl и суффикс *.cqpl с cqperl. Теперь, когда я выполняю скрипт, и он заканчивается на *.cqpl, он использует одну версию Perl, в то время как скрипт, который заканчивается на *.pl, выполняется другой версией Perl.

Чтобы связать суффикс с программой, перейдите в окно проводника Windows и выберите Параметры папки в меню Инструменты . Затем нажмите на вкладку Типы файлов . Нажмите кнопку New и создайте новое расширение, которое будет связано с файлом. Затем выберите его в окне «Зарегистрированные типы файлов» и нажмите кнопку «Дополнительно» внизу.

Создайте действие Open и свяжите его с полным путем к Perl, для которого вы хотите выполнить этот суффикс. Как это:

"C:\Perl\bin\perl.exe" "%1" %*

Значение %* важно, поэтому вы можете передавать другие параметры в вашу программу.

В вашем случае вы можете использовать *.pl для Perl 5.8.8 и *.pl6 для Perl 5.6.

Вам даже не нужно помещать каталог Perl bin в свой путь. Просто введите имя вашего скрипта и все.

2 голосов
/ 24 ноября 2010

В Unix: используйте строку shebang.

В Windows: при установке perl обычно создаются два исполняемых файла: perl.exe и perl5.N.M.exe. Например в моей установке Strawberry у меня есть perl.exe и perl5.10.1.exe. Так что, если оба perl находятся в PATH, вы можете назвать их как perl5.6.1 и 5.8.8. Т.е. "perl5.6.1 program.pl".

P.S. Я бы предложил обновить всю среду до 5.12.2 - в Perl появилось много новых полезных функций.

1 голос
/ 23 ноября 2010

вы всегда можете просто запустить свои скрипты, используя выбранный вами интерпретатор perl, давайте предположим, что у вас есть 2 разных perls, установленных в с: / perl_56 и в c: /perl_58.

в CMD.exe вы можете попробовать это:
c: /perl_56/bin/perl.exe path_to_your_script здесь
и
c: /perl_58/bin/perl.exe path_to_your_script здесь

для запуска скриптов через разные версии Perl. К сожалению, вы не можете использовать «шебанг» в начале ваших сценариев в Windows, как вы могли бы использовать в системах Unix.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...