Jump to content

CGI.pm

CGI.pm
Оригинальный автор(ы) Линкольн Стейн
Разработчик(и) Ли Джонсон
Стабильная версия
4.21 / 2015-06-22
Платформа Перл
Тип Perl-модуль для CGI
Веб-сайт метакпан .org /выпускать /CGI

CGI.pm — это большой и когда-то широко используемый модуль Perl для программирования приложений Common Gateway Interface (CGI) веб- , предоставляющий согласованный API для получения и обработки пользовательского ввода. Существуют также функции для вывода HTML или XHTML , но они сейчас не поддерживаются, и их следует избегать. [1] CGI.pm был основным модулем Perl, но был удален, начиная с версии Perl 5.22. [1] Модуль был написан Линкольном Стейном и в настоящее время поддерживается Ли Джонсоном.

Вот простая страница CGI, написанная на Perl с использованием CGI.pm (в объектно-ориентированном стиле):

#!/usr/bin/env perl

use strict;
use warnings;

use CGI;

my $cgi = CGI->new;

print $cgi->header('text/html');

print << "EndOfHTML";
<!DOCTYPE html>
<html>
    <head>
        <title>A Simple CGI Page</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <h1>A Simple CGI Page</h1>
        <form method="post" enctype="multipart/form-data">
            Name: <input type="text" name="name"  /><br />
            Age: <input type="text" name="age"  /><p>
            <input type="submit" name="Submit!" value="Submit!" />
        </form>
        <hr />
EndOfHTML

if ( my $name = $cgi->param('name') ) {
    print "Your name is $name.<br />";
}

if ( my $age = $cgi->param('age') ) {
    print "You are $age years old.";
}

print '</body></html>';

Это позволит распечатать очень простую веб-форму, запрашивающую ваше имя и возраст, а после отправки форму повторно отобразить с именем и возрастом, отображаемыми под ней. В этом примере используются объектно-ориентированные возможности CGI.pm; это также можно сделать, вызывая функции напрямую, без $cgi-> , однако необходимые функции должны быть импортированы в пространство имен скрипта, которому требуется доступ к этим функциям:

#!perl

use strict;
use warnings;
use CGI qw/ :standard /;

print header('text/html');

# ... HTML output same as above example

if ( my $name = param('name') ) {
    print "Your name is $name.<br />";
}

if ( my $age = param('age') ) {
    print "You are $age years old.";
}

print '</body></html>';

Примечание. Во многих примерах $q , сокращение от query, используется для хранения объекта CGI.

См. также

[ редактировать ]
  1. ^ Jump up to: а б «CGI — обработка запросов и ответов общего интерфейса шлюза — Metacpan.org» . Metacpan.org .
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: aee41aaec403175665620361bddec1cd__1713842220
URL1:https://arc.ask3.ru/arc/aa/ae/cd/aee41aaec403175665620361bddec1cd.html
Заголовок, (Title) документа по адресу, URL1:
CGI.pm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)