![]() |
работа с param() в CGI
вообщем надоело мне руками разбирать параметры из форм, стал использовать CGI модуль.
есть у меня куча полей в форме типа field_1,field_2 ... field_20 Как мне в цикле обработать данные из формы, т.е. for(my $i=1;$i<=20;$i++) { param(field_$i) ..... или param('field_$i') ..... нужно что-то типа такого, только так не работает } |
param('field_'.$i)
Может так, лучше цги библиотеку не использовать дырявая и тяжёлая:) обычно параметры забираем так: для get $buffer = $ENV{'QUERY_STRING'}; @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } для post: read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } |
Вот так и найдеш все параметры формы и пофиг как их послали (GET or POST).
Код:
%hash=param(); |
| Часовой пояс GMT +4, время: 23:09. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.