Выполнение Perl из вопроса командной строки - PullRequest
4 голосов
/ 10 июня 2010

На прошлой неделе я заменил ActivePerl на Strawberry Perl на моем WinXP.

Я обнаружил, что должен запустить свой Perl-скрипт с командой perl myperl.pl;в противном случае мне нужно только запустить myperl.pl перед установкой Strawberry.Как я могу запустить только myperl.pl как раньше?

Я проверил конфигурацию своей среды, как показано ниже.

C:\> Path

C:\Program Files\ActiveState Komodo Edit
5\;C:\Perl\site\bin;C:\Perl\bin;C:\Perl\bin\;C:\Program Files\CodeSynthesis
XSD 3.2\bin\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\Microsoft
SQL Server\90\Tools\binn\;C:\Program Files\Common Files\Thunder Network\KanKan
\Codecs;C:\strawberry\c\bin;C:\strawberry\perl\bin`

Путь Strawberry Perl уже указан в значении Path послеустановить успешно.

Что-нибудь, что я пропустил?Спасибо за ваше предложение.

Ответы [ 4 ]

11 голосов
/ 10 июня 2010

Попробуйте из командной строки:

assoc .pl=PerlScript
ftype PerlScript=c:\strawberry\bin\perl.exe %1 %*

- kmx

8 голосов
/ 10 июня 2010

Вам необходимо связать расширение .pl с исполняемым файлом Strawberry Perl (это вещь для Windows, а не для Perl).

Для этого есть несколько способов (вы можете зайти в Google или спроситьна ServerFault для лучшего или полного списка), но я обычно использую в XP:

  • Откройте любую папку Windows Explorer
  • Перейдите в меню «Сервис» и нажмитена вкладке «Типы файлов» в появившемся диалоговом окне
  • Найдите расширение «PL» в списке
  • Если оно есть, исправьте соответствующий исполняемый файл на .exe Strawberry Perl, нажав «PL»и нажмите кнопку «Изменить»
  • Если ее нет в списке, нажмите кнопку «Создать», введите расширение PL в форму и нажмите «ОК».Затем закройте весь диалог и снова откройте его.Расширение «PL» теперь будет в списке, поэтому нажмите на него и нажмите кнопку «Изменить»

В случае, если я напутал, вот официальные инструкции от Microsoft:

http://support.microsoft.com/kb/307859

ОБНОВЛЕНИЕ Пожалуйста, посмотрите ответ kmx - его метод полностью командный, и поэтому мне кажется, что он гораздо предпочтительнее, чем грубая ошибка в графическом интерфейсе ... Я подтвердил, что это тоже работает(без параметров, как минимум)

3 голосов
/ 10 июня 2010

Возможно, вам потребуется поместить расширение .PL в переменную окружения PATHEXT.Это заставит файлы .pl работать с переменной PATH.

Введите

set PATHEXT

, чтобы проверить, настроены ли вы.Если это не так, перейдите в «Мой компьютер» -> «Свойства» -> «Дополнительно» и нажмите кнопку «Переменные среды» в нижней части вкладки.Там вы можете добавить .PL к переменной PATHEXT.

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

set PATHEXT=%PATHEXT%;.PL
0 голосов
/ 22 января 2012

Для полноты изложения приведу еще 2 метода, которые не делают исполняемый скрипт .pl, но вы можете использовать их для превращения своего скрипта perl в исполняемый файл.

  • pl2bat , что предполагает создание обернутой версии вашего .pl в файл .bat, который будет выполняться в системе Windows. Я не пробовал это так, YMMV.
  • pp , часть модуля PAR :: Packer , который я использовал ранее, прекрасно справляется с преобразованием ваших perl-скриптов в исполняемые файлы.
...