![]() |
Как в скритпе на перл обработать файл передаваемый скрипту в ком-й строке?
что-то вроде script.pl filename (в винд)
т.е. как передать имя файла скрипту? Извините, я не знаю.... Спасибо! |
$argc
|
to Razer
$argc - ето как? script.pl filename listing script.pl: open(file, filename); while <file> {....} Извините за надоедливость... Спасибо! |
Все аргументы в массиве @argv ($argc нет, это меня на си занесло). Имя файла, как несложно догадаться, будет в первом элементе этого массива.
|
Shkurik
Код:
$filename = shift @ARGV;уточнение - ARGV большими буквами, тут вам не DOS ;) |
to all
т.е. если зделать такой скрипт script.pl $filename = shift @ARGV; printf($filename); и потом запустить его так script.pl file в окне должно напечататься имя файла - file? - у меня не работает...... ???????? |
В скрипт параметры передаются следующим образом: script.pl?var1=value1&var2=value2 Для расшифровки этой строки вставь в скрипт строки:
Код:
# Get data from memory --------------------------------------------------------Код:
my $par1 = $FORM{var1};Код:
open (FILE, "$par1");Код:
my $fsize = -s "$par1"; |
Я бы конечно сказал "Ghost, старик, - мы тут шелл обсуждаем", если бы у меня небыло опасений ... хмм ...
|
RaZEr
Прошу прощения, если сморозил что не то, но по посту автора темы не понял, что ему нужен именно "шелл". |
Странно другое - почему не работает вариант:
Код:
$filename = shift @ARGV; |
Цитата:
|
Цитата:
|
Вложений: 1
RaZEr
Цитата:
|
Цитата:
1. Прописать Perl.ехе в переменной PATH, инсталляция это делает вроде автоматом, запускать все скрипты так : Код:
perl.exe script.pl param1 param2 ...Код:
<C:\Path_to_install_Perl>\perl.exe script.pl param1 param2 ... |
rontommy
Если сделать то, что описал я, то можно будет запускать скрипты так: Код:
script.pl param1 param2 ... |
Ghost
Кому как удобно, в твоем варианте больше 10 параметров не передашь, у меня все скрипты запускаются из контекстного меню, а не из DOSовского окна. Для шелла есть UNIX ;) ! |
всем привет!
нда, такого обсуждалова я не ожидал....
может я не правильно понимаю -- я зарегистрил расширение .pl в винде, дальше тэорэтычно запуская скрипт и через пробел имя файла - скрипт должен его обрабатывать? ..... немного спустя: опосля того как прописал как в картинке - все работает! век живи - век учись. Премного благодарен!!!!! Всем!!! тока дальше появляется вопрос (читаю документаху - на английском, может из-за етого трудности, ну и не программер я, это попытки решить маленькие локальные задачи) ... -а впрочем для начала нада маленько подчитать. ЗЫ если это для Вас актуально - я проголосоваль! для Rontommy - printf($filename) и print($filename) работают одинаково (в этом случае), поскольку не определено форматирование вывода.... кажется так? Спасибо! |
rontommy
Цитата:
perl "%1" "%2" "%3" "%4" "%5" (см. рисунок из предыдущего поста), аperl "%0" %* . |
| Часовой пояс GMT +4, время: 13:52. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.