欢迎来到天天文库
浏览记录
ID:11825599
大小:457.50 KB
页数:67页
时间:2018-07-14
《template模块文档翻译》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、packageTemplate;$Template::VERSION='2.6';=head1NAMETemplate-在CGI中使用HTML模板的模块=head1SYNOPSIS首先你需要创建一个模板-仅仅是带有扩展的标志的HTML文件,最常见的扩展标志就是例如,test.tmpl:TestTemplateMyHomeDirectoryisMyPathissetto2、>现在创建一个小CGI程序:#!/usr/bin/perl-wuseTemplate;#打开HTML模板my$template=Template->new(filename=>'test.tmpl');#填充部分参数$template->param(HOME=>$ENV{HOME});$template->param(PATH=>$ENV{PATH});#发送必须的Content-Type,并且打印模板输出print"Content-Type:text/html",$template->output;如果设置正确的话,运行CGI程序以后,将在浏览器中3、显示如下的内容:MyHomeDirectoryis/home/some/directoryMyPathissetto/bin;/usr/bin=head1DESCRIPTION本模块试图简单并且自然的使用HTML模板.她继承了HTML并且扩展了部分新的HTML标签-,,,,和.使用HTML和上述的标签编写的模板将会被调用,也就是说你的模板可以和你的脚本分离,甚至可以由其他人来创建,修改,然后使用本模块来填充模板中的变量,循环4、和分支申明.这将帮助你将脚本使用的数据结构设计和HTML分开.=head1THETAGS=head2TMPL_VAR标签非常的简单.模板中的每个都要调用$template->param(PARAMETER_NAME=>"VALUE").当页面输出的时候,将会被你赋的变量值取代.如果你没有设置模板中的一些变量值,在输出时仅仅跳过.一个可选的属性:你可以在你的标签里面使用"ESCAPE=HTML",以在输出前编码部分HTML字符.也就是说",5、<,>,和&字符将转换为",<,>和&.这个属性在你的变量中如果包含HTML代码可能会带来麻烦的时候才非常有用.例:">如果你给param()传递类似与sam"my,那么你将会在双引号部分引来麻烦.在另外一个方面,如果你使用ESCAPE=HTML,例如:">无论提交者提交的参数怎么变化,你将会得到任何你想得到的值.你可以使用6、的格式:ESCAPE="HTML",ESCAPE='HTML'和ESCAPE='1'.如果传递给ESCAPE的参数0,将关闭过滤,而且默认的设置是关闭的.同样你也可以使用"ESCAPE=URL"来处理URL.她将做URL过滤,比如,替换''为'+'和替换'/'为'%2F'.你也可以使用一个DEFAULT来设置缺省的默认值.例如,你要输出"thedevilgavemeataco",如果"who"变量没有被设置.Thegavemeataco.=head2TMPL_LOOP7、"LOOP_NAME">...标签比稍微复杂一点.允许你划定一块文本区块,并且给她一个名字.在区块内部,你可以放置标签.为了循环,需要传递给param()的参数分配(散列引用(hashrefs))一个表(一个数组(arrayref)).循环将重述列表,并且给每个参数产生文本块.未设置的参数将会被跳过.举例如下:模板文件:Name:Job:8、VARNAME=JOB>
MyPathissetto2、>现在创建一个小CGI程序:#!/usr/bin/perl-wuseTemplate;#打开HTML模板my$template=Template->new(filename=>'test.tmpl');#填充部分参数$template->param(HOME=>$ENV{HOME});$template->param(PATH=>$ENV{PATH});#发送必须的Content-Type,并且打印模板输出print"Content-Type:text/html",$template->output;如果设置正确的话,运行CGI程序以后,将在浏览器中3、显示如下的内容:MyHomeDirectoryis/home/some/directoryMyPathissetto/bin;/usr/bin=head1DESCRIPTION本模块试图简单并且自然的使用HTML模板.她继承了HTML并且扩展了部分新的HTML标签-,,,,和.使用HTML和上述的标签编写的模板将会被调用,也就是说你的模板可以和你的脚本分离,甚至可以由其他人来创建,修改,然后使用本模块来填充模板中的变量,循环4、和分支申明.这将帮助你将脚本使用的数据结构设计和HTML分开.=head1THETAGS=head2TMPL_VAR标签非常的简单.模板中的每个都要调用$template->param(PARAMETER_NAME=>"VALUE").当页面输出的时候,将会被你赋的变量值取代.如果你没有设置模板中的一些变量值,在输出时仅仅跳过.一个可选的属性:你可以在你的标签里面使用"ESCAPE=HTML",以在输出前编码部分HTML字符.也就是说",5、<,>,和&字符将转换为",<,>和&.这个属性在你的变量中如果包含HTML代码可能会带来麻烦的时候才非常有用.例:">如果你给param()传递类似与sam"my,那么你将会在双引号部分引来麻烦.在另外一个方面,如果你使用ESCAPE=HTML,例如:">无论提交者提交的参数怎么变化,你将会得到任何你想得到的值.你可以使用6、的格式:ESCAPE="HTML",ESCAPE='HTML'和ESCAPE='1'.如果传递给ESCAPE的参数0,将关闭过滤,而且默认的设置是关闭的.同样你也可以使用"ESCAPE=URL"来处理URL.她将做URL过滤,比如,替换''为'+'和替换'/'为'%2F'.你也可以使用一个DEFAULT来设置缺省的默认值.例如,你要输出"thedevilgavemeataco",如果"who"变量没有被设置.Thegavemeataco.=head2TMPL_LOOP7、"LOOP_NAME">...标签比稍微复杂一点.允许你划定一块文本区块,并且给她一个名字.在区块内部,你可以放置标签.为了循环,需要传递给param()的参数分配(散列引用(hashrefs))一个表(一个数组(arrayref)).循环将重述列表,并且给每个参数产生文本块.未设置的参数将会被跳过.举例如下:模板文件:Name:Job:8、VARNAME=JOB>
2、>现在创建一个小CGI程序:#!/usr/bin/perl-wuseTemplate;#打开HTML模板my$template=Template->new(filename=>'test.tmpl');#填充部分参数$template->param(HOME=>$ENV{HOME});$template->param(PATH=>$ENV{PATH});#发送必须的Content-Type,并且打印模板输出print"Content-Type:text/html",$template->output;如果设置正确的话,运行CGI程序以后,将在浏览器中
3、显示如下的内容:MyHomeDirectoryis/home/some/directoryMyPathissetto/bin;/usr/bin=head1DESCRIPTION本模块试图简单并且自然的使用HTML模板.她继承了HTML并且扩展了部分新的HTML标签-,,,,和.使用HTML和上述的标签编写的模板将会被调用,也就是说你的模板可以和你的脚本分离,甚至可以由其他人来创建,修改,然后使用本模块来填充模板中的变量,循环
4、和分支申明.这将帮助你将脚本使用的数据结构设计和HTML分开.=head1THETAGS=head2TMPL_VAR标签非常的简单.模板中的每个都要调用$template->param(PARAMETER_NAME=>"VALUE").当页面输出的时候,将会被你赋的变量值取代.如果你没有设置模板中的一些变量值,在输出时仅仅跳过.一个可选的属性:你可以在你的标签里面使用"ESCAPE=HTML",以在输出前编码部分HTML字符.也就是说",
5、<,>,和&字符将转换为",<,>和&.这个属性在你的变量中如果包含HTML代码可能会带来麻烦的时候才非常有用.例:">如果你给param()传递类似与sam"my,那么你将会在双引号部分引来麻烦.在另外一个方面,如果你使用ESCAPE=HTML,例如:">无论提交者提交的参数怎么变化,你将会得到任何你想得到的值.你可以使用
6、的格式:ESCAPE="HTML",ESCAPE='HTML'和ESCAPE='1'.如果传递给ESCAPE的参数0,将关闭过滤,而且默认的设置是关闭的.同样你也可以使用"ESCAPE=URL"来处理URL.她将做URL过滤,比如,替换''为'+'和替换'/'为'%2F'.你也可以使用一个DEFAULT来设置缺省的默认值.例如,你要输出"thedevilgavemeataco",如果"who"变量没有被设置.Thegavemeataco.=head2TMPL_LOOP7、"LOOP_NAME">...标签比稍微复杂一点.允许你划定一块文本区块,并且给她一个名字.在区块内部,你可以放置标签.为了循环,需要传递给param()的参数分配(散列引用(hashrefs))一个表(一个数组(arrayref)).循环将重述列表,并且给每个参数产生文本块.未设置的参数将会被跳过.举例如下:模板文件:Name:Job:8、VARNAME=JOB>
7、"LOOP_NAME">...标签比稍微复杂一点.允许你划定一块文本区块,并且给她一个名字.在区块内部,你可以放置标签.为了循环,需要传递给param()的参数分配(散列引用(hashrefs))一个表(一个数组(arrayref)).循环将重述列表,并且给每个参数产生文本块.未设置的参数将会被跳过.举例如下:模板文件:Name:Job:8、VARNAME=JOB>
8、VARNAME=JOB>
此文档下载收益归作者所有