Forum Webscript.Ru

Программирование => Perl => Тема начата: Infostorage от 29 Октября 2001, 13:33:24

Название: Передача данных в скрипт
Отправлено: Infostorage от 29 Октября 2001, 13:33:24
Помогите, кто может решить вопрос.
Пытаюсь передать значения в скрипт , не через форму а напрямую с строке запроса(http://site/cgi-bin/list.cgi?user_name=ssss),  и вывести эти значения на экран таким образом:

#!c:/perl/bin/perl
print "Content-Type: text/html\\n\\n";
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;
  $value =~ s///g;
  $input{$name} = $value;
}

print "$input{\'user_name\'}";

В итоги на экране пустота. В чем же ошибка?
Название: Передача данных в скрипт
Отправлено: MyCom от 29 Октября 2001, 15:16:50
вместо
read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
используй
($ENV{\'REQUEST_METHOD\'} eq "POST") and  read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
($ENV{\'REQUEST_METHOD\'} eq "GET")  and  ($buffer = $ENV{\'QUERY_STRING\'});

т.е. при вводе в статусной строке, данные передаются методом GET, и соотвественно они записываются в другую переменную
Название: Передача данных в скрипт
Отправлено: Infostorage от 29 Октября 2001, 17:55:25
Спасибо :-)
Название: Передача данных в скрипт
Отправлено: Wowik от 30 Октября 2001, 05:30:40
Не, вот мучения! :)
используй модуль CGI


#!/usr/bin/perl

use CGI qw/:standart/;
print header,param(\'user_name\');
Название: ну как сказать
Отправлено: Green Kakadu от 30 Октября 2001, 17:42:26
Цитировать
Не, вот мучения!  
используй модуль CGI

:) непрактично загружать модуль со столькими функциями лишь для того, чтоб воспользоваться всего лишь одной махонькой функцией.
Название: Передача данных в скрипт
Отправлено: Wowik от 31 Октября 2001, 05:22:06
Цитировать
непрактично загружать модуль со столькими функциями лишь для того, чтоб воспользоваться всего лишь одной махонькой функцией.

Но!
1. позволит избежать ненужных ошибок
2. сделает код скрипта более изящным и читаемым
Название: спорно
Отправлено: Green Kakadu от 31 Октября 2001, 11:51:21
Цитировать
сделает код скрипта более изящным и читаемым

весьма спорные утверждения насчет читаемости и изящества - вынесли это в отдельную подрограммку и все, а насчет ошибок :) так это про все что угодно можно сказать - все зависит от личных качеств.
Название: Передача данных в скрипт
Отправлено: Chs от 08 Ноября 2001, 11:34:04
:) Спорное, но ошибок будет действительно меньше. :))
И экспортировать можно только часть функций.
А вопрос изобретения велосипеда и повторной отладки уже существующих функций то же спорный.:)
Название: Передача данных в скрипт
Отправлено: Johnny от 12 Ноября 2001, 22:04:36
Почему же всё загружать. А Autoloader/Selfloader зачем тогда?