位置: 编程技术 - 正文
一 CGI.pm中的方法(routines)调用
1. CGI.pm实现了两种使用方法,分别是面向对象的方式和传统的perlmodule方法的方式。面向对象的方式:
传统的module方法的方式:2. CGI.pm中的方法。CGI.pm中的方法,通常有很多的参数,所以一般我们使用命名参数的方式来调用,例如:命名参数的值可以为scalar或array reference类型,例如:3. CGI.pm中的html元素(html shortcuts)方法所有的html的元素(例如h1,br等)在CGI.pm中都有对应的方法,这些方法根据需要动态的生成,且都包含2个参数,第一个参数为hash类型,对应html元素的属性,第二个参数的string类型,对应html元素的内容。例如html中的h1对应的方法为h1( ):Code Generated HTML---- --------------h1() <h1>h1('some','contents'); <h1>some contents</h1>h1({-align=>left}); <h1 align="LEFT">h1({-align=>left},'contents'); <h1 align="LEFT">contents</h1>有时你想自己处理元素的开始和结尾,则可以使用start_tag_name和end_tag_name,例如print start_h1,'Level 1 Header',end_h1;有的时候start和end方法没有被自动生成,需要显示的指定,例如:use CGI qw/:standard *table start_ul/; 用来自动生成start_table,end_table,start_ul和end_ul方法。另一个实例:二 CGI.pm中获取cgi的参数@names = $query->param #get all params@values = $query->param('foo'); #get param foo as list $value = $query->param('foo'); #get param foo as scalarparam()获取参数的结果可以为scalar或array类型,例如当参数的结果来自多选的scrollinglist的时候就为array类型。如果参数的值在querystring中没有给定("name1=&name2="),param()将返回emptystring。如果参数在querystring中根本不存在,则param()则返回undef或emptylist。当参数为多个值时querystring中写法为var1=value1&var1=value2&var1=value3.三 header and start_html1. header指定html的header,例如
其中-type,-status,-expires,-cookie为可以设别的参数,其他的命名参数都被转化为html header属性。 -expires的值可以为: +s seconds from now +m ten minutes from now +1h one hour from now -1d yesterday (i.e. "ASAP!") now immediately +3M in three months +y in ten years time Thursday, -Apr- :: GMT at the indicated time & date 2. start_html 创建页面的顶层元素<html><header</header><body> 例如:
或者:
在header中加入javascript的例子:在header中使用css的例子:
四 url
五 CGI.pm中的html元素方法的特殊用法
如果元素的第二个参数为list类型,则会被分解,例如: 相当于: <ul> <li type="disc">Sneezy</li> <li type="disc">Doc</li> <li type="disc">Sleepy</li> <li type="disc">Happy</li> </ul> 例如table可以写为:
六 CGI.pm中非标准的html元素方法
print comment('here is my comment'); #generates an HTML comment (<!-- comment -->) 因为与perl方法冲突,所以大写的: Select Tr Link Delete Accept Sub 其他特殊的html元素方法:start_html(), end_html(), start_form(), end_form(), start_multipart_form() and all the fill-out form tags。 七 CGI.pm中的form相关
1 start_form 和start_multipart_form如果没有指定method,action,enctype,默认地为: method: POST action: this script enctype: application/x-www-form-urlencoded for non-XHTML multipart/form-data for XHTML, see multipart/form-data below. 当使用start_form的时候,enctype为application/x-www-form-urlencoded,如果需要新式的xhtml,则需要使用start_multipart_form,此时enctype为multipart/form-data。 更多内容请参考:cgi man page
推荐整理分享perl的cgi高级编程介绍(perl中@_),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:perl中的$_,高级perl编程,perl编程语言,perl高级技巧,perl编程,perl编程实例,高级perl编程,高级perl编程,内容如对您有帮助,希望把文章链接给更多的朋友!
Perl操作系统环境变量的脚本代码 如何用Perl脚本操作系统环境变量呢?想必很多朋友马上就会想到Perl中提供的$ENV这个特殊的哈希变量,对,在$ENV中完全可以获取到一些系统变量。怎么
cpan安装Net::SSH::Perl中遇到的一些问题 使用cpan安装Net::SSH::Perl:cpaninstallNet::SSH::Perl期间遇到了一些问题,记录在此,以备后阅。因为cpan对其它软件的依赖性,要求软件版本的不能过低,所
using Net::SSH2 shell 的二个方法 方法一:$chan2=$ssh2-channel();$chan2-blocking(0);print$chan2"tail-5/var/log/authlogn";print"**$_"while$chan2;方法二:#shellusemy$chan2=$ssh2-channel();$chan2-shell();print$chan2"uname-an";p
标签: perl中@_
本文链接地址:https://www.jiuchutong.com/biancheng/372503.html 转载请保留说明!友情链接: 武汉网站建设