Автор Тема: Ещё один "интересный" кусочек кода...  (Прочитано 3259 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Вот кусочек кода:
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;
  }
Чтобы это могло значить практически в самом начале скрипта?
Самое интересное, что когда я его вырезал, на работе скрипта это не сказалось, или это мне только так кажется?
Ну к чему все это, лучше бы водки выпили...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Получение параметров в cgi скрипте
« Ответ #1 : 05 Апреля 2002, 09:27:45 »
Это разбор параметров "вручную" и несколько кривоватый причем.
То же самое, но более "прямо":

use CGI qw(:cgi-lib);
my %qs;
&ReadParse(\\%qs);
2B OR NOT 2B = FF

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Получение параметров в cgi скрипте
« Ответ #2 : 05 Апреля 2002, 11:27:39 »
А зачем это нужно? Не понимаю? объясни?
Я конечно всатвил твои три строчки в начало скрипта...
Как работало, так и работает...
Ну к чему все это, лучше бы водки выпили...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Получение параметров в cgi скрипте
« Ответ #3 : 05 Апреля 2002, 11:48:57 »
Цитировать
А зачем это нужно? Не понимаю? объясни?

А зачем скрипту нужны параметры, передаваемые из формы? :)))
Некоторые привыкли, что параметры в хеш.:))
2B OR NOT 2B = FF

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Получение параметров в cgi скрипте
« Ответ #4 : 05 Апреля 2002, 11:55:25 »
А почему скрипт без этих строчек работает?
Ну к чему все это, лучше бы водки выпили...

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Получение параметров в cgi скрипте
« Ответ #5 : 05 Апреля 2002, 11:58:43 »
Вот код скрипта:
use CGI qw(:cgi-lib);
my %qs;
&ReadParse(\\%qs);

use CGI qw(:standard);
$mycgi=new CGI;
if(!$mycgi->param){
Ну и т.д.
Что характерно, параметры скрипт получает и без первых трёх строчек:).
Или это альтернативный вариант?
Тогда как я буду получать параметры по "твоёму" способу?
Ну к чему все это, лучше бы водки выпили...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Получение параметров в cgi скрипте
« Ответ #6 : 05 Апреля 2002, 12:46:48 »
Цитировать
Что характерно, параметры скрипт получает и без первых трёх строчек.

Естественно, один param я уже увидел, но зачем так криво писать - не понимаю.:)
2B OR NOT 2B = FF

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Получение параметров в cgi скрипте
« Ответ #7 : 05 Апреля 2002, 12:51:43 »
А как надо, скажи, плиз, буду учиться...
Как получить параметры, после первых трё строчек?
Ну к чему все это, лучше бы водки выпили...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Получение параметров в cgi скрипте
« Ответ #8 : 05 Апреля 2002, 13:34:51 »
Цитировать
Как получить параметры, после первых трё строчек?

Они уже получены и находяться с хеше.:))
Теперь с ними только работать.
2B OR NOT 2B = FF

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Получение параметров в cgi скрипте
« Ответ #9 : 05 Апреля 2002, 21:56:05 »
Цитировать
Теперь с ними только работать.

Мона примерчик для особо тупых?
Ну к чему все это, лучше бы водки выпили...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Получение параметров в cgi скрипте
« Ответ #10 : 05 Апреля 2002, 22:06:54 »
Цитировать
Мона примерчик для особо тупых?


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";
}
2B OR NOT 2B = FF

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Получение параметров в cgi скрипте
« Ответ #11 : 06 Апреля 2002, 02:49:11 »
Цитировать
Естественно, один param я уже увидел, но зачем так криво писать - не понимаю.

для повышения живучести ;)

2glebushka если ты посмотришь FAQ Chs то там есть ссылки на книжки разные.. Учиться на плохих примерах ИМХО неразумно.
 в исканиях.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28