Forum Webscript.Ru
Программирование => Perl => Тема начата: glebushka от 05 Апреля 2002, 03:17:42
-
Вот кусочек кода:
if ($ENV{"REQUEST_METHOD"} eq "POST") {
$ct = $ENV{"CONTENT_TYPE"};
$cl = $ENV{"CONTENT_LENGTH"};
# check the content-type for validity
if($ct ne "application/x-www-form-urlencoded")
{
printf "I don\'t understand content-type: %s\\n", $ct;
exit 1;
}
# put the data into a variable
read(STDIN, $qs, $cl);
} else {
# put the QUERY_STRING into a variable
$qs = $ENV{\'QUERY_STRING\'};
}
# split it up into an array by the \'&\' character
@qs = split(/&/,$qs);
#
for($i = 0;$i <= $#qs; $i++)
{
# convert the plus chars to spaces
$qs[$i] =~ s/\\+/ /g;
# convert the hex characters
$qs[$i] =~ s/%(..)/pack("c",hex($1))/ge;
# split each one into name and value
($name, $value) = split(/=/,$qs[$i],2);
# create the associative element
$qs{$name} = $value;
}
Чтобы это могло значить практически в самом начале скрипта?
Самое интересное, что когда я его вырезал, на работе скрипта это не сказалось, или это мне только так кажется?
-
Это разбор параметров "вручную" и несколько кривоватый причем.
То же самое, но более "прямо":
use CGI qw(:cgi-lib);
my %qs;
&ReadParse(\\%qs);
-
А зачем это нужно? Не понимаю? объясни?
Я конечно всатвил твои три строчки в начало скрипта...
Как работало, так и работает...
-
А зачем это нужно? Не понимаю? объясни?
А зачем скрипту нужны параметры, передаваемые из формы? :)))
Некоторые привыкли, что параметры в хеш.:))
-
А почему скрипт без этих строчек работает?
-
Вот код скрипта:
use CGI qw(:cgi-lib);
my %qs;
&ReadParse(\\%qs);
use CGI qw(:standard);
$mycgi=new CGI;
if(!$mycgi->param){
Ну и т.д.
Что характерно, параметры скрипт получает и без первых трёх строчек:).
Или это альтернативный вариант?
Тогда как я буду получать параметры по "твоёму" способу?
-
Что характерно, параметры скрипт получает и без первых трёх строчек.
Естественно, один param я уже увидел, но зачем так криво писать - не понимаю.:)
-
А как надо, скажи, плиз, буду учиться...
Как получить параметры, после первых трё строчек?
-
Как получить параметры, после первых трё строчек?
Они уже получены и находяться с хеше.:))
Теперь с ними только работать.
-
Теперь с ними только работать.
Мона примерчик для особо тупых?
-
Мона примерчик для особо тупых?
use CGI qw(:cgi-lib);
my %in;
&ReadParse(\\%in);
my $param1 = $in{\'param1\'};
print "Content-type: text/plain\\n\\n";
foreach (keys %in)
{
print "$_=$in{$_}\\n";
}
-
Естественно, один param я уже увидел, но зачем так криво писать - не понимаю.
для повышения живучести ;)
2glebushka если ты посмотришь FAQ Chs то там есть ссылки на книжки разные.. Учиться на плохих примерах ИМХО неразумно.