Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача параметров в скрипт 
:(
    Опции темы
infarch
Дата 23.2.2011, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 13.3.2009

Репутация: нет
Всего: 1



Проблемка у меня - переставлял систему (теперь стоит XP x64). После этого поставил актив перл 5.10. И вот теперь передача параметров в скрипт работает не коректно. Раньше я мог сделать так: myscript.pl some_data. А теперь приходится так: perl myscript.pl some_data. Конечно не сложно это запомнить, но хочется понять в чем дело. Может какую переменную окружения надо прописать еще... Подскажите плиз!
PM MAIL   Вверх
alezzz
Дата 23.2.2011, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



Посмотрите документацию к AP, в Getting Started раздел Installation Guide.

Цитата

ftype PerlScript=perl.exe %1 %*
assoc .pl=PerlScript

PM MAIL   Вверх
infarch
Дата 23.2.2011, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 13.3.2009

Репутация: нет
Всего: 1



Не помогло :(
PM MAIL   Вверх
alezzz
Дата 23.2.2011, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



Код

C:\Perl\home>ftype | grep perl
Perl="C:\Perl\bin\perl.exe" "%1" %*

C:\Perl\home>assoc | grep Perl
.pl=Perl
.pm=PerlModule

у меня так, но Win XP x86. Дома Win 7 x64, вечером попробую там запустить.
PM MAIL   Вверх
alezzz
Дата 23.2.2011, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



на семерке х64 тоже самое
PM MAIL   Вверх
infarch
Дата 24.2.2011, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 13.3.2009

Репутация: нет
Всего: 1



У меня вроде тоже все правильно, хотя название несколько отличается:
.pl=PerlScript
PerlScript=C:\mod-perl\Perl\bin\perl.exe %1 %*

Но вот не работает и все тут... Пробовал поменять perlscript на perl - аналогично. Я еще один опыт сделал - добавил фальшивый тип:
.pllll=PerlFake
PerlFake=perl.exe %1 %*

Оный фейк не запускается вообще. Если его кликнуть, система предлагает выбрать программу для открытия. После выбра Perl command line interpreter поведение в точности тоже самое - запуск просто скрипта с аргументом ведет к тому что аргумент не виден, приходится еще указывать интерпретатор.

Загадка блин :(


PM MAIL   Вверх
alezzz
Дата 24.2.2011, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



Цитата

C:\Perl\home>ftype | grep Perl
Perl="C:\Perl\bin\perl.exe" "%1" %*
PerlFalse=c:\perl\bin\perl.exe %1 %*
PerlFalse2=perl.exe %1 %*
PerlScriptFile=C:\WINDOWS\System32\WScript.exe "%1" %*

C:\Perl\home>assoc | grep Perl
.pl=Perl
.plf=PerlFalse
.plf2=PerlFalse2
.pm=PerlModule

C:\Perl\home>

.plf запускается, .plf2 просит указать программу (т.е. не запускается). 

На офсайте есть 5.12 для х86 и х64, попробуйте переставить перл.

Это сообщение отредактировал(а) alezzz - 24.2.2011, 12:31
PM MAIL   Вверх
infarch
Дата 24.2.2011, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 13.3.2009

Репутация: нет
Всего: 1



Но перл ведь работает! Если систему ткнуть носом в последовательность запуска, то все работает. И не понятно из вашего примера, почему plf запускается, а .plf2 нет. Может дело в том что хендлер для PerlFalse2 указан без абсолютного пути? Я попробовал создать обработчик с абсолютным путем, он сработал:

assoc .plff=PerlFalseScript
ftype PerlFalseScript=c:\mod-perl\perl\bin\perl.exe %1 %*

Тип plff запускается по клику и нормально ловит аргументы. Отлично, едем дальше. Редактирую тип pl:

assoc .pl=Perl
ftype Perl=c:\mod-perl\perl\bin\perl.exe %1 %*

Все тоже самое, кроме имени в ассоциации, и не работает! Аргументов нет по прежнему.  Ну и при чем тут перл? Явно система глючит. Может где еще есть хитрые асоциации, не знаю...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.