| imho.ws |
![]() |
|
|
|||||||
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
|
|
# 1 |
|
Junior Member
Регистрация: 24.01.2002
Адрес: Украина, Киев
Пол: Male
Сообщения: 158
![]() |
Как в скритпе на перл обработать файл передаваемый скрипту в ком-й строке?
что-то вроде script.pl filename (в винд)
т.е. как передать имя файла скрипту? Извините, я не знаю.... Спасибо!
__________________
Банзай! |
|
|
|
|
# 5 |
|
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Shkurik
Код:
$filename = shift @ARGV; open(FILE, "$filename"); . . . уточнение - ARGV большими буквами, тут вам не DOS
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать. |
|
|
|
|
# 6 |
|
Junior Member
Регистрация: 24.01.2002
Адрес: Украина, Киев
Пол: Male
Сообщения: 158
![]() |
to all
т.е. если зделать такой скрипт script.pl $filename = shift @ARGV; printf($filename); и потом запустить его так script.pl file в окне должно напечататься имя файла - file? - у меня не работает...... ????????
__________________
Банзай! |
|
|
|
|
# 7 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
В скрипт параметры передаются следующим образом: script.pl?var1=value1&var2=value2 Для расшифровки этой строки вставь в скрипт строки:
Код:
# Get data from memory --------------------------------------------------------
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $bufer, $ENV{'CONTENT_LENGTH'}); }
else {
$bufer=$ENV{'QUERY_STRING'}; }
# Decode data -----------------------------------------------------------------
@pairs = split(/&/, $bufer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value; }
Код:
my $par1 = $FORM{var1};
Код:
open (FILE, "$par1"); my @indata = <FILE>; close (FILE); Код:
my $fsize = -s "$par1"; open (FILE, "$par1"); binmode (FILE); sysread (FILE, $indata, $fsize); close (FILE);
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! Последний раз редактировалось Ghost; 15.04.2004 в 20:36. |
|
|
|
|
# 9 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
RaZEr
Прошу прощения, если сморозил что не то, но по посту автора темы не понял, что ему нужен именно "шелл".
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
|
|
|
|
# 11 | |
|
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать. |
|
|
|
|
|
# 13 | |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
RaZEr
Цитата:
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
|
|
|
|
|
# 14 | |
|
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
1. Прописать Perl.ехе в переменной PATH, инсталляция это делает вроде автоматом, запускать все скрипты так : Код:
perl.exe script.pl param1 param2 ... Код:
<C:\Path_to_install_Perl>\perl.exe script.pl param1 param2 ...
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать. |
|
|
|
|
|
# 15 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
rontommy
Если сделать то, что описал я, то можно будет запускать скрипты так: Код:
script.pl param1 param2 ...
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
|
|
|
|
# 16 |
|
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ghost
Кому как удобно, в твоем варианте больше 10 параметров не передашь, у меня все скрипты запускаются из контекстного меню, а не из DOSовского окна. Для шелла есть UNIX !
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать. |
|
|
|
|
# 17 |
|
Junior Member
Регистрация: 24.01.2002
Адрес: Украина, Киев
Пол: Male
Сообщения: 158
![]() |
всем привет!
нда, такого обсуждалова я не ожидал....
может я не правильно понимаю -- я зарегистрил расширение .pl в винде, дальше тэорэтычно запуская скрипт и через пробел имя файла - скрипт должен его обрабатывать? ..... немного спустя: опосля того как прописал как в картинке - все работает! век живи - век учись. Премного благодарен!!!!! Всем!!! тока дальше появляется вопрос (читаю документаху - на английском, может из-за етого трудности, ну и не программер я, это попытки решить маленькие локальные задачи) ... -а впрочем для начала нада маленько подчитать. ЗЫ если это для Вас актуально - я проголосоваль! для Rontommy - printf($filename) и print($filename) работают одинаково (в этом случае), поскольку не определено форматирование вывода.... кажется так? Спасибо!
__________________
Банзай! Последний раз редактировалось Shkurik; 16.04.2004 в 19:47. |
|
|
|
|
# 18 | |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
rontommy
Цитата:
perl "%1" "%2" "%3" "%4" "%5" (см. рисунок из предыдущего поста), аperl "%0" %* .
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! |
|
|
|