[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]

[Назад]
Ответ
(оставьте это поле пустым)
Имя (оставьте это поле пустым)
E-mail
Тема
Комментарий
Файл
Перейти к
Подтверждение обновить captcha
Пароль (чтобы удалить пост или файл)
  • Разрешённые типы файлов: GIF, JPG, PNG
  • Максимальный размер файла 1536 килобайт и 2048×2048.
  • Изображения размером более 200x200 точек будут уменьшены.

№2345  

Анонимус помоги! Я нихера не понимаю в perl'е.

Есть хтмл страница c формой, с парой тройкой полей для ввода (<input type="text">). Скрипт на perl должен обрабатывать то что навводили в форму.

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

Из какой-то книги я пытался спиздить такой вот скрипт:
sub parse_form_data
{

my %form_data;
my $name_value;
my @name_value_pairs = split /&/, $ENV{QUERY_STRING};

if ( $ENV{REQUEST_METHOD} eq 'POST')
{
my $query = "";
read (STDIN, $query, $ENV{CONTENT_LENGTH}) == $ENV{CONTENT_LENGTH} or return undef;
push @name_value_pairs, split /&/, $query;
}
foreach $name_value ( @name_value_pairs )
{
my ($name, $value) = split /=/, $name_value;
$name =~ tr/+/ /;
$name =~ s/%([\da-f][\da-f])/chr( hex($1) )/egi;
$value = "" unless defined $value;
$value =~ tr/+/ /;
$value =~ s/%([\da-f][\da-f])/chr( hex($1) )/egi;
$form_data{$name} = $value;
}
return %form_data;

}
или подскажи как заставить работать его.

>> №2356  

Зой, залогиньтесь!

>> №2386  

>>2345
Модуль CGI не подходит?

>> №2414  

form.html
<form name="form1" method="post" action="sender.pl">

     <p><strong>Текст:</strong>
<p>
<textarea name="contents" rows="3" cols="65"></textarea>
</p>
<input type="submit" value="Отправить"> <input type="reset" value="Очистить"> </p>
</form>

sender.pl
#!/usr/bin/perl
use strict;
use CGI ':standard';
my $contents;
print "Content-type:text/html\n\n";
print param('contents');

что-то типа этого, не проверял, но должно работать.

>> №2419  

test.html:

<meta charset=utf-8>
<form action="/cgi-bin/xyu.pl" method=post>
<input type=text name=txt1 value="Соси"><p>
<input type=text name=txt2 value="хуй"><p>
<input type=text name=txt3 value="быдло"><p>
<input type=submit value="Соснуть хуйца">
</form>

xyu.pl:

#!/usr/bin/perl -w
use CGI;
$q = new CGI;

print "Content-type: text/html; charset=utf-8\n\n<html><body>".$q->param(txt1)." мой ".$q->param(txt2)." ёбаное ".$q->param(txt3)."<p></html>";


Удалить пост []
Пароль
[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]