CGI.pm
Эта статья в значительной степени или полностью опирается на один источник . ( апрель 2024 г. ) |
Оригинальный автор(ы) | Линкольн Стейн |
---|---|
Разработчик(и) | Ли Джонсон |
Стабильная версия | 4.21
/ 2015-06-22 |
Платформа | Перл |
Тип | Perl-модуль для 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.
См. также
[ редактировать ]Ссылки
[ редактировать ]Внешние ссылки
[ редактировать ]