Perl 教程 之 Perl CGI编程 11

简介: Perl CGI教程讲解如何通过CGI程序处理HTML表单数据。CGI是NCSA维护的通用网关接口,用于连接服务器和客户端。示例中,`test.html`包含一个Textare

Perl 教程 之 Perl CGI编程 11

Perl CGI编程

什么是CGI

CGI 目前由NCSA维护,NCSA定义CGI如下:

CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。

通过CGI程序传递 Textarea 数据

Textarea 向服务器传递多行数据,test.html 代码如下:

test.html 代码
<!DOCTYPE html>


<br>在这里输入内容...<br>





test.cgi 脚本代码如下:

test.cgi 代码

!/usr/bin/perl

local ($buffer, @pairs, $pair, $name, $value, %FORM);

读取信息

$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
if ($ENV{'REQUEST_METHOD'} eq "POST")
{
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else {
$buffer = $ENV{'QUERY_STRING'};
}

读取 name/value 对信息

@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%(..)/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
$text_content = $FORM{textcontent};

print "Content-type:text/html\r\n\r\n";
print "

";
print "";
print '';
print '';
print "";
print "";
print "

输入的文本内容为:$text_content

";
print "";
print "";

1;
浏览器中,执行效果

目录
相关文章
|
1月前
|
存储 机器学习/深度学习 算法
订单拆单合并处理接口设计与实现
本文介绍电商系统中订单拆单与合并接口的设计与实现,涵盖核心功能、RESTful API设计、Python伪代码示例及性能优化。通过规则驱动的拆分(如按仓库)和合并(如同地址聚合),提升配送效率,降低运营成本,适用于多仓储、高并发场景,助力开发者高效构建订单处理系统。(239字)
191 0
|
2月前
|
传感器 人工智能 安全
物联网
万物互联,智启未来。物联网通过连接人、物、环境,重塑生活、城市与产业。从智能家居到智慧城市,从工业互联网到精准农业,数据驱动智能化变革。融合AI、5G等技术,构建高效、安全、可持续的智能世界,开启人类社会新篇章。(238字)
|
3月前
|
人工智能 自然语言处理 安全
如何让 AI 工具更懂你,更听话?
你是否也曾被AI“气到吐血”?明明说的是A,AI却给了B?别沮丧,2025年的AI也需要“正确沟通”。本文教你五大提示技巧:动态提示、多模态输入、Few-shot示例、任务分解与安全边界,让AI从“人工智障”变身“贴心助手”。学会“说AI的语言”,释放创造力,提升效率,开启智能生活新时代!
1236 0
|
5月前
|
人工智能 安全 测试技术
|
IDE Android开发 iOS开发
Android VS iOS:哪个操作系统更适合开发者?**
**在移动应用开发领域,Android和iOS是两大主流操作系统,它们各自拥有独特的特点和优势。本文探讨了Android和iOS操作系统在开发者视角下的差异与优劣,分析了它们在开发环境、用户群体、市场前景等方面的比较,帮助开发者选择最适合他们需求的平台。
355 29
|
算法 Java vr&ar
保持无损连接和函数依赖的3NF合成算法(详细简介)期末必备
保持无损连接和函数依赖的3NF合成算法(详细简介)期末必备
295 0
|
存储 人工智能 API
GCP 上的人工智能实用指南:第三、四部分
GCP 上的人工智能实用指南:第三、四部分
303 1
kali安装vmtools
kali安装vmtools
442 0
|
算法 计算机视觉
【MATLAB 】 EEMD信号分解+FFT傅里叶频谱变换组合算法
【MATLAB 】 EEMD信号分解+FFT傅里叶频谱变换组合算法
449 0