电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> CGI
PerlScript编写ASP(转载)-CGI教程,CGI文档
作者:网友供稿 点击:40
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
perlscript编写asp

nighthawk注:
尽管这些年来perl为广大编程爱好者所熟悉,但却对perl存在一个令人尴尬的误解,以为perl就是cgi,经常有人问我perl和cgi,和php,和asp比较如何如何,这是实在是件很遗憾的事情.这里特地贴出下面这篇文摘,也许能减少一些这方面的 误解.

本文将进一步讲述perl在可嵌入技术的广域性,和perlscript 在脚本技术领域的功用。以前的文章我说了eperl、embed perl和mod_perl 技术,它们都是单独领域的技术,是在本身基础上的延伸。而本文将讲述如何用perlscript写asp,或者是说在asp中写perlscript。

学习本文后,你将会知道perl是如何强大,它的兼容性是没有任何语言可以比的。在目前web页编程中,最为盛行的技术:cgi、asp、php、jsp等,其中cgi就包含了perl、c/c++、java等技术,在cgi 技术中流行的语言就是perl,perl的历史悠久,有着传统的编程方式和自然编写方法,在asp、php、jsp等技术没有出现之前,是web也编程中最为流行或者说是标准的编程技术。经常有人拿perl或是cgi与asp、php、jsp等技术相比,我在这里想重申一次,perl、cgi与asp、php、jsp不是一个领域一个类别,就好比水果和红薯他们如何比?这些配比方法在小学中就讲述得很详细了,所以希望广大程序技术人员不要被误导。perl是一个语言,它与c/c++、java、basic等是一个类别的一个领域的,而asp(active server page)、php(personal home page)、jsp(java server page),大家可以从英文中看出他们后面都有page,简单的你可以理解成为超文本语言html的服务器端语言,而真正输出的html是客户端语言。我编写cgi,特别是用perl编写了几年的程序,写了无数的商业软件,然而现在很多舆论对perl和cgi评价非常不好,然而这些都是非常不负责任的评价,对这个行业带来了很大的损失,严重减慢了perl在国内发展的速度。而perlscript 是perl语言中的脚本语言,并非perl脚本,也就是说它我们常说的perl是不同的,它是perl的一个脚本语言。类似于vb,大家知道vb有vbscript,perlscript 就好像vbscript,也可以说是vbscript同类,理解这一点就好理解以下的内容。大家知道vbscript分为客户端、服务器端,客户端可以在浏览器(诸如:internet explorer、netscape)中应用,很多网站就用vbscript 做一些客户端的分析处理工作;服务器端就是大家经常在asp里面写的vbscript一样"<%@ language="vbscript" %>"。perlscript 是perl的一个子集,perl->perlscript。

perlscript 在实际应用中有很多地方与平时写的perl程序是不一样的,比如我们一般显示输出信息都用"print info\n\n;",而在使用perlscript的时候就不能使用这样的语法,否则将会造成语法无法识别;perlscript 在默写方面使用的是面向对象技术为基础。所以如果想输出信息,必须采取对象方法:"$response->write("info");"。

如何在动态服务页中(asp)应用perlscript 作为编写脚本呢?平时我们写asp的时候都需要声明语言类型,例如我们用vbscript编写asp时候,必须胜名"<%@ language="vbscript" %>",在使用perlscript 的时候也是一样,声明格式是一样的"<%@ language=perlscript %>"。现在我们就可以开始写perlscript 的asp了。是不是有些兴奋?我们按照惯例,都要写一个"hello world"脚本啦。其实asp可以不用写的什么脚本的,可以在html直接打出,然而现在这里是为了能够让您更容易的了解perlscript在asp的具体应用。现在我们建立第一个asp页
<%@language=perlscript%>
<html>
<title> perlscript test </title>
<%
for($i=0; $i<=10; $i+=2) {
$response->write("");
$response->write("hello world!
");
}
%>
</html>
在这里大家一定要注意
"$response->write("");"为什么不用print呢?因为print 是对程序而言,是直接的,而asp是间接的输出。在asp里面使用perlscript是自动应用了asp相关模块(use asp;)。这个页内容是进行循环依次输出字的大小。

访问得到服务器的变量,也不是以前那么样子了,命令是
"<%= $request->servervariables(server_software)->item() %> "

我们一般在perl里面则是
"$env{server_software};"
得到post或者get数据,比以往在perl程序中容易很多。
post:"$request->form(name)->item()"
而get: "request->querystring(name)->item()"

在输出非"text/html"类型数据的时候,首先要使用模块:"win32::ole::variant;",比如输出"image/gif"perl程序方法是:
print "content-type:image/gif\n\n";
而在perlscript中用:
$response->{contenttype} = "image/gif";

输出数据方法则是:
$response->binarywrite(win32::ole->variant(vt_ui1, $image));
取得asp的错误信息:
"$asperror = $server->getlasterror();"
设置浏览器cookies:"
$response->cookies->setproperty(
类别,
cookies,
这是一个cookies
);
"
设置允许url:"
$response->cookies(cookie)->{domain} = tanshuai.net;
"
设置过期时间:"
$response->cookies(somecookie)->{expires} = january 1, 2001;
"
数据库连接:"
<%
#建立连接adobd的对象
#
$conn = $server->createobject("adodb.connection");

#打开系统 dsn
#
$conn->open( "tanshuai" );

# 执行 sql 查询
#
$rs = $conn->execute( "select * from orders" );

#取得目标查询队列数
$count = $rs->fields->{count};

# 输出显示每个队列名
#
for ( $i = 0; $i < $count; $i++ ) {
$response->write( $rs->fields($i)->name );
$response->write("
");
};

# 输出所有队列值
#
while ( ! $rs->{eof} ) {
for ( $i = 0; $i < $count; $i++ ) {
$response->write(" ");
$response->write($rs->fields($i)->{value});
$response->write("
");
};

#移动到下一个纪录
#
$rs->movenext();
};

# 关闭所有对象
#
$rs->close();
$conn->close();
%>

在perlscript中sub、if、else、else if、for each、while、声明变量、打开文件、字符处理都、调用模块文件都是按照以前的样子。只是在对于web服务器间的特殊处理,需要使用特殊方法。

另外#在脚本编写的时候仍然是作为注解符号,而且一定要记得每个脚本命令结束后必须要填写";"结束符号。

通过本文您已经掌握了如何用perl的perl脚本(perlscript)编写asp了。perl的强大功用和广泛的兼容性,是没有任何一个技术可比的。目前perl可嵌入技术包含:c嵌入perl、java 嵌入perl、asp嵌入perl、apache嵌入 perl、wsh嵌入perl、wsc 嵌入perl……

perl其实是一个简单易学的通用信息技术语言,我觉得现在普及计算机,首先应该普及的就是perl语言了,perl比basic自然得多。好像人们在说话,它的编写方式就好像我们处理事务一样。学会了perl,不但对你学习其它语言(诸如:c/c++、java)有很大的促进、帮助并加快学习进度,perl的强大发展趋势,可以让您"投机取巧",在其它流行的编程技术中嵌入,这样在您不懂得或是觉得一种算法很麻烦的时候,用perl来帮助你快捷的完成。让您在其它语言中从perl慢慢进化成该种语言,是相当顺利的平稳过渡。我发现在学习perl以后,学习其它语言速度有很大的加快。
文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·LB5000XP论坛配合SERV-U获取系统管理员权限-CGI教程,CGI文档
·CGI 版本-PHP教程,其它文章
·获取随机的由大小写字母和数字组成的八位密码-CGI教程,CGI文档
·Perl在NT下的快速简便安装方法 (转)-CGI教程,CGI文档
·实战 FastCGI(转)二-CGI教程,CGI文档
·XML和现代CGI应用程序-.NET教程,XML应用
·perl在win32平台上直接操作打印机-CGI教程,CGI文档
·实战 FastCGI(转)五(完)-CGI教程,CGI文档
·Python 快速入门(一)-CGI教程,CGI文档
·网站 PAGEVIEW 分析系统 CGI (原创)-CGI教程,CGI文档

最新文章
·顺便说说一些指示代码
·跟我学Perl(二)
·跟我学Perl(一)
·CGI教程(5)利用CGI解码FORM
·CGI教程(4)HTML 表单
·CGI教程(3)怎样发回文档给客户端
·CGI教程(2)怎样从服务器获得信息
·CGI教程(1)简介
·CGI教程(目录)
·Perl直接入门详尽指南




版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号