当前位置: 首页 > news >正文

CGI的函数

CGI 不是语言而是common language gateway, 是借助STDIN, STDOUT来操作,简单的例子,

#!/usr/bin/perl -wT
print "Content-type: text/html\n\n";
print <<EndOfHTML;
<html><head><title>Test Page</title></head>
<body>
<h2>Hello, world!</h2>
</body></html>
EndOfHTML

把以上cgi,放在www docuements的目录里,

访问 http://www.cgi101.com/book/ch1/third.cgi

CGI.pm Module

The CGI.pm 模块式 Perl  5.004里面的标准库。

use CGI qw(:standard);

The qw(:standard) 表示我们从CGI.pm.调用"standard" 函数。

调用函数,如果不传参数,可以不要括号,如下,
functionname(arguments)

CGI.pm有很多函数,我们可以用的如以下几个,

header;
start_html;
end_html;

例如,print start_html("Hello World");会打印出,
<html>
<head>
<title>Hello World</title>
<head>
<body>

例如,print start_html(-title=>"Hello World",
	-bgcolor=>"#cccccc", -text=>"#999999",
 -background=>"bgimage.jpg");
会打印出如下,
<body bgcolor="#cccccc" text="#999999"  background="bgimg.jpg">

end_html 会打印如下的标签

</body>

</html>

因为perl是OO的,你可以完全读懂以下两段程序是一个意思,

use CGI qw(:standard);

print header;

print start_html("Hello World");

以下是OO的,

use CGI;                    # don't need qw(:standard)
$cgi = CGI->new;         # ($cgi is now the object)
print $cgi->header;      # function call: $obj->function
print $cgi->start_html("Hello World");

再上一个完整的程序,
#!/usr/bin/perl -wT
use CGI qw(:standard);
print header;
print start_html("Hello World");
print "<h2>Hello, world!</h2>\n";
print end_html;

相关文章:

  • 晦涩难懂的shell命令
  • 虚拟防火墙方案
  • 在Android中自定义IOS风格的按钮
  • mysql批量删除相同前缀的表格
  • C++笔试题
  • 服务器大量的fin_wait1 状态长时间存在原因分析-1
  • java中常见的异常类
  • MS Word 组件Spire.Doc V6.0.5发布 | 修复了rtf 到pdf 的转换问题
  • STM32中断优先级和开关总中断
  • 联想ThinkPad五大系列全介绍(转)
  • 新手学习Python时常见的错误
  • 为什么说JAVA的运行与计算机硬件平台无关?
  • java的static块及相关内容
  • netapp学习(十四)--WAFL特性
  • ORACLE RAC原理
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CSS 提示工具(Tooltip)
  • flask接收请求并推入栈
  • JS基础之数据类型、对象、原型、原型链、继承
  • Linux gpio口使用方法
  • passportjs 源码分析
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • 初识MongoDB分片
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何在 Tornado 中实现 Middleware
  • 小李飞刀:SQL题目刷起来!
  • 一、python与pycharm的安装
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • #{}和${}的区别是什么 -- java面试
  • #1015 : KMP算法
  • #控制台大学课堂点名问题_课堂随机点名
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (三)模仿学习-Action数据的模仿
  • (译)2019年前端性能优化清单 — 下篇
  • *2 echo、printf、mkdir命令的应用
  • .aanva
  • .gitignore文件—git忽略文件
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .Net8 Blazor 尝鲜
  • .sdf和.msp文件读取
  • ::before和::after 常见的用法
  • @31省区市高考时间表来了,祝考试成功
  • @JsonSerialize注解的使用
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [20150629]简单的加密连接.txt
  • [20150904]exp slow.txt
  • [hdu 3746] Cyclic Nacklace [kmp]