2013-03-22 3 views
2

Я знаю, что этот вопрос задан раньше, но все резолюции, которые я нашел, не работали для меня. Вот что я пытаюсь сделать.Настройка активного Perl 5.8.6 на окнах 7

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

helloworld param1 param2 

если я пытаюсь сделать это сейчас, мои параметры не учитываются в @ARGV. Однако, если я нахожу:

perl helloworld.pl param1 param2 

Параметры взяты в @ARGV.

Я сделал следующее из других сообщений по этой теме:

assoc .pl=Perl 
ftype Perl="C:\Perl\Bin\perl.exe" "%1" %* 

Я также щелкнул Пуск-> deafault программ-> Свяжите тип файла или протокол с программой. Искал .pl и просмотрел файл C: \ Perl \ bin \ perl.exe.

Я также использовал Regedit изменить открытое значение в HKCR \ Perl \ оболочки \ открытой команды \ следующим образом:

(Default) REG_SZ "C:\Perl\Bin\perl.exe" %1 %* 

после делать все это, я до сих пор не в состоянии выполнить скрипт набрав:

helloworld param1 param2 

Любые другие замечания или предложения по вещи, которые я, возможно, пропустили, чтобы получить эту работу было бы весьма признателен ...

+1

Могли бы вы обновить ActivePerl? С 5,8 была проделана большая работа.6 (девять лет назад). Я бы рекомендовал удалить его, удалив все связанные с Perl изменения операционной системы и установив последнюю версию. Он должен сам установить все. – Schwern

+0

Да, я бы хотел, чтобы этот материал был частью старого процесса, который мне нужно немного хромать, пока он не исчезнет. Я попробовал работать с более новой версией, но были и другие проблемы с этим. – user2200504

+0

Вы оставляете '.pl' в своем' helloworld.pl param1 param2' - это намеренно? – Mintx

ответ

0

Скачал следующее приложение:

http://creativelement.com/powertools/

Я использовал его для создания ассоциации .pl с perl.exe, и я мог бы запустить скрипт perl с помощью perl или .pl, и он также согласился бы с моими параметрами. Я не уверен, что он сделал по сравнению со всеми вещами, которые я читал в этих потоках, но я просто подумал, что поделюсь им со всеми.

Thanks

3

вы сказали, что у

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

но что вы изменили его

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

Он должен быть первым.


С настройками, которые вы описали, вы должны использовать

helloworld.pl param1 param2 
      ^^^ 

Если вы хотите опустить .pl, вы должны добавить .pl к PATHEXT ENV вар.

>set PATHEXT=.PL;%PATHEXT% 

>type a.pl 
print "$ARGV[0], $ARGV[1]!\n"; 

>a Hello World 
Hello, World! 

(. Конечно, вы, вероятно, хотите, чтобы сделать изменения более постоянным путем изменения среды запуска, а не только эта оболочка в)

Смежные вопросы