Perl. Вывод обработанных данных.

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
tango
Access Forbidden
Сообщения: 247
Зарегистрирован: 2007-12-15 17:41:18
Откуда: Санкт- Петербург
Контактная информация:

Perl. Вывод обработанных данных.

Непрочитанное сообщение tango » 2008-08-25 16:24:20

Необходимо со статической HTML страницы осуществить ввод данных в Perl- скрипт и потом вывести обработанные Perl-скриптом данные на ту же HTML страницу. ...
Ввод данных в скрипт с HTML- страницы, организовала обычной HTML- формой с кнопкой "Submit", а вот с выводом обработанных данных из Perl скрипта на ту же HTML страницу - у меня проблема.....
Вы моя последняя надежда... :)
Скрипт:

Код: Выделить всё

#! /usr/bin/perl
# $debuging mode on/off
use smpp;

# ----------------------------------------------
read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

@arrays = split(/&/, $buffer);

foreach $array (@arrays) {
  ($name, $value) = split(/=/, $array);
   $value =~ tr/+/ /;
   $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   $value =~ s/<!--(.|\n)*-->//g;
   $input{$name} = $value;
  }

$data{''} = $input{Message};

# --------------------------------------------
while (($key, $value) = each(%data)) {
        print "\n$key ======== Результат обработки ========\n";
        ($tmp, $hash) = GetTextPDU("getvalue",$value);
        print "$tmp\n";
while (($key1, $value1) = each(%$hash)){
        print " $key1: $value1\n";
        }
        print "$key =============== Конец ================\n\n";
}
Форма:

Код: Выделить всё

<html>
   <body>
        <center>
                <h2>Декодер HEX</h2>
        </center>
<center>
                <div id="contact-area">
        <form method="post" action="cgi-bin/test.pl">
                <label for="Message" id="Message">Исходные данные:</label><br />
                <textarea name="Message" rows="4" cols="62" onfocus="this.value=''; this.onfocus=null;">Введите данные</textarea>
        <br>
                <input type="submit" name="submit" value="Отправить" class="submit-button" />
                <input type="reset" name="reset" value="Очистить" class="reset-button" />
        </form>
                </div>
         </center>
        </body>
</html>

Последний раз редактировалось tango 2008-08-25 16:30:24, всего редактировалось 1 раз.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Perl. Вывод обработанных данных.

Непрочитанное сообщение ProFTP » 2008-08-25 16:29:55

используйте лучше шаблончек http://forum.lissyara.su/viewtopic.php?f=17&t=8321 (есть еще одна статья где вывсти цыкл)
Последний раз редактировалось ProFTP 2008-08-25 16:51:36, всего редактировалось 3 раза.
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Perl. Вывод обработанных данных.

Непрочитанное сообщение terminus » 2008-08-25 16:33:41

Я в Perl не очень, но о cgi понятие имею и на пых-пыхе кое-чего пописывал... давно...
Я о чем: может использовать в качестве файла-формы не отдельный forma.html, а сам скрипт? В скрипте и выводить все элементы формы при обычном вызове, и то же самое + результаты после отправки данных и обработки.

ЗЫ

"статическая страница" на которую выводится динамическая информация - это уже получается "динамическая страница" ;-)
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Perl. Вывод обработанных данных.

Непрочитанное сообщение ProFTP » 2008-08-28 18:22:52

terminus писал(а): "статическая страница" на которую выводится динамическая информация - это уже получается "динамическая страница" ;-)
я почему-то подумал, что статическая страница это странице с другого сервера которая статическая :-o

правильней HTML файл
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Perl. Вывод обработанных данных.

Непрочитанное сообщение ProFTP » 2008-08-28 18:31:57

нужно передать заголовок браузеру

Код: Выделить всё

print "Content-Type: text/html\n\n"; 

print << "[INFO]";
<html>
   <body>
        <center>
                <h2>Декодер HEX</h2>
        </center>
<center>
[INFO]

while (($key, $value) = each(%data)) {
        print "\n$key ======== Результат обработки ========\n";
        ($tmp, $hash) = GetTextPDU("getvalue",$value);
        print "$tmp\n";
while (($key1, $value1) = each(%$hash)){
        print " $key1: $value1\n";
        }
        print "$key =============== Конец ================\n\n";
}

print << "[INFO2]";
 <div id="contact-area">
        <form method="post" action="cgi-bin/test.pl">
                <label for="Message" id="Message">Исходные данные:</label><br />
                <textarea name="Message" rows="4" cols="62" onfocus="this.value=''; this.onfocus=null;">Введите данные</textarea>
        <br>
                <input type="submit" name="submit" value="Отправить" class="submit-button" />
                <input type="reset" name="reset" value="Очистить" class="reset-button" />
        </form>
                </div>
         </center>
        </body>
</html>
[INFO2]
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Perl. Вывод обработанных данных.

Непрочитанное сообщение zg » 2008-08-28 21:03:34

tango писал(а):Необходимо со статической HTML страницы осуществить ввод данных в Perl- скрипт и потом вывести обработанные Perl-скриптом данные на ту же HTML страницу. ...
это делается с помощью проверки на POST-данные
tango писал(а):read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
:no: уличная магия тут не рулит :smile: , надо модуль использовать. Или ты хочешь и POST-форму ручками парсить? В перле уже всё давным давно реализовано, только надо правильно взять.

_tango
проходил мимо

Re: Perl. Вывод обработанных данных.

Непрочитанное сообщение _tango » 2008-08-29 8:39:51

Спасибо за отклики. :)
Но я уже всё давно сделала....
теперь у меня форму для ввода данных и результат обработки выдает скрипт...
удобнее всё держать в одном файле, чем в нескольких. :)