电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 网络编程 -> Perl教程
perl语言全面编译(一)_perl教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
简 述
 
本文将详细讲述Perl的编译方法,献给所有热爱、喜欢Perl的程序员们。 
Perl自从面世以来1.0版本到现今的5.6版本,一直都有编译程序,主要因为国内的中文资料很少,大多数人不愿意去看或者不懂得英文资料,所造成不知道器编译方法。即使是很多Perl界高手也同样有此类问题。Perl编译方法五花八门,各种编译方法都有其重要的意义和弱点。另一方面Perl编译方法不能流行的原因是,本身Perl就是一个免费的东西,人们不希望Perl成为编译的商品,但是在国内也是因此而拖累了Perl的发展步伐。但在此我不赞成也不推崇Perl程序的编译,Perl编译有小些局限性,但是仍然可以完成所有任务,想要达到良好的编译效果,需要高超的编程技术和相关经验,重要的是对OOP(面向对象的程序设计)的了解,将会使得你的Perl程序更加易于编译,运行速度更快,兼容性更广等特性。 
以前我写过Perl在可嵌入式技术方面技术文章。它的优势和其它嵌入语言无法比拟的兼容性,Perl不但拥有PHP的可嵌入HTML技术,也同样支持用PerlScript写ASP的。但是如果你希望你的程序可以编译执行,那么可嵌入式方法显然是不可能的。我几乎不用ePerl、mod_perl等可嵌入式Perl HTML 页,但是我更不赞成很多人把HTML置入程序之中,这两种方法都有其好处以及坏处。我推崇模板方式的编写方法,大家可能也用过模板方式,可能认为它在页面量处理方面有很多问题?但是,那些都是陈旧古老的方式,也是说明你并未精通Perl语言,采用模板方式调入HTML页是相当好的方法,几乎可以达到所有可嵌入式技术的功效,也可以像HTML程序内置方式的灵活操纵性。我觉得程序员和HTML制作员是不同的,如果我们采用ePerl、PHP、ASP,那么你就不是一个真正的程序员,那只是HTML技术的服务器处理部分罢了,真正的程序是程序本身,而不附带任何其它特性。 
我认为好的教学文章,应该让读者充分了解内容,充分扩展层面。诸如编写一个Httpd程序,有很多传统的程序员根本不了解 http的通讯协议,即使讲了很多内容,但是仍然搞得半懂不懂。本文将会充分扩展层面,让读者了解更多的技术资料,而不必看完本文后又要去寻找关联技术资料。同样国内目前有很多技术性书籍,都是来自国外的译本,但是很多译者并非此技术专家,在翻译的时候很多东西无法充分理解,带来的时间上的障碍。我希望国内的编程专家能够写一些有用的技术文章和书籍,因为我看过很多国人自己写的文章都容易理解和操作。但是问题在于都偏向与基础教学,目前急切地需要有更深层次的技术资料。 
   
内容大纲: 
1) PerlApp和PerlSvc编译方法 New! Easy! 
2) Perl2Exe 编译方法 
3) PerlCC 编译方法 
4) PerlCC之Bytecode 编译解析法——Just Like Java Program!  New! Cool! 
5) OOP面向对象的程序之为编译而设计  
6) HTML模板编程方式——真正的WEB程序(Program)  Good! 
7) 联合编译以及实例  Advanced! 
   
说明:如何选择阅读以上内容是很重要的,以上内容并非适合各个阶层的Perl程序员。PerlApp和PerlSvc适合在Windows2000环境下编程初学者和一般的Perl程序设计人员,Perl2Exe适合在非Windows和Windows95/98/Me 环境下编程初学者和一般的Perl程序设计人员。PerlCC适合与任何操作系统平台,但是操作复杂,适合于中级程序员和高级程序员开发大宗商业化软件(公众客户)使用。ByteCode是一种新型的编译方式,类似Java,它需要Perl解析器的支持,但是它是灵活性最高的编译方式,适合中级程序员和高级程序员开发大宗商业化软件(服务商)使用。如果你希望你可以编写出一个出色的Perl编译的程序,那么你必须阅读第4节,它将告诉你如何使用面向对象的程序设计技术来实现Perl编译程序的高效良好的开发环境和模式。 
   
第一节 PerlApp和PerlSvc编译方法
 
PerlApp和PerlSvc是ActiveState 公司开发的,它属于 Active Perl Dev Kit(PDK)产品。本编译方法只适合于Windows2000上运行,其它系统均无法正常使用,编译程序必须是标准Perl和ActivePerl。 
PDK下载地址:http://ftp.tanshuai.net/pub/  ftp://ftp.tanshuai.net/pub/  
PerlApp和PerlSvc,前者是标准的应用程序,后者是Windows2000的服务程序(类似与IIS,一开机就启动的服务程序,而且无法中断它的运行)。他们有两种运作模式:依靠(Dependent)和独立(Freestanding),“依靠”模式程序运行的系统上必须有Perl解析器和相关模块,这样的程序相对较小;“独立”模式,Perl解析器等相关模块都会完全嵌入在程序之中,这样的程序在任何Windows2000操作系统上都可以顺利运行,而不需要额外的支持,但是程序相对较大。 
使用方法: 
标准使用方法(“依靠”模式): 
perlapp <脚本名> 
这样程序就会创建一个以脚本名命名的可执行文件<脚本名.exe> 
“独立”模式: 
perlapp(或者perlsvc) –f <程序名> 
定义输出可执行文件名: 
perlapp(或者perlsvc) –e=tanshuai.exe test.pl 
它将会把test.pl文件输出的可执行文件名改为“tanshuai.exe”。 
设置程序属性: 
perlapp(或者perlsvc) -i=<类表> <程序名> 
类表名 目标项目 
Filenumber 文件号码 
Productnumber 产品号码 
Productname 产品名称 
Legaltrademarks 合法商标 
Filedescription 文件说明 
Originalfilename 原文件名 
Fileversion 文件版本 
Comments 注解 
Productversion 产品版本 
Companyname 公司名称 
Internalname 内部名称 
Legalcopyright 版权 
 
这个时候有些人可能不大明白,这个是干什么用的。如果你曾经编写过Win32程序,那就会知道,它是Windows程序的版本说明(如图1)。 



图1 Perl.exe文件的版本说明 
名称与数值用“;”分开。而且所有项目值都需小写。 
清理PerlCtrl 的DLL: 
perlapp(或者perlsvc) –c <程序名> 
添加模块: 
perl(或者perlsvc) –a=<列表> 
如:perlapp tanshuai.pl –a=IO:Socket;XML::Parser;Tanshuai::Http;MP3; 
这样模块IO:Socket,XML::Parser,Tanshuai::Http和MP3就被置入程序内。 
Perl图形界面: 
perlapp(或者perlsvc) –g <程序名> 
如果你的程序非命令行或者CGI,是T/K图形界面的话,就需要采取这个命令。 
排除 Perl56.dll: 
perlapp(或者perlsvc) –x <程序名> 
Perl56.dll是PerlApp执行的关键,但是如果你不希望他和你的程序在一起,你可以把它排除,另行安置,但是主意,一定要保证它的存在否则就无法正确运行 
添加额外文件: 
perlapp(或者perlsvc) –b=<文件列表> <程序名> 
如果你希望在程序内部打开文件,请使用这个命令。 
如:open(FILE,“./PerlAPP.TXT“);@FILE=;close(FILE); 
这样就必须打开“PerlAPP.TXT“文件,但是你如果把它置入程序,它将会在内存中打开。(无法写入) 
报告嵌入模块错误: 
perlapp(或者perlsvc) -r <程序名> 
一些模块无法嵌入,使用该命令可以得出相关信息。 
输出详细信息: 
perlapp(或者perlsvc) <程序名> -v 
如:perlapp tanshuai.pl –v 
输出: 
Using myScript.pl for script name 
Input script name: tanshuai.pl 
Output exe name: tanshuai.exe 
Exe Mode: Perl Dependent 
Creating dependent executable 
   
解释:PerlApp 和PerlSvc无法在Windows95/98/ME PerlApp使用的部分Win32 API函数未被支持。 

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·perl常问问题集--第一篇_perl教程
·perl常规表达式(1)_perl教程
·perl语言全面编译(一)_perl教程
·perl语言全面编译(三)_perl教程
·perl语言全面编译(二)_perl教程
·各种平台下perl模块的安装方法_perl教程
·perl语言全面编译(四)_perl教程
·perldbi入门_perl教程
·有线电视宽带数据网络设计管理(上)_视频通信
·perl常问问题集--第一篇_perl教程

最新文章
·php5对mysql5的任意数据库表的管理代码示例(四)_php技巧
·用perl来分析并生成中文excel文件_perl教程
·photoshop基础教程:跟我学调色练习15-室内光效_photoshop教程
·使用perl连接mysql数据库_perl教程
·photoshop把照片打造为漫画艺术风格_photoshop教程
·photoshop绘制印度小美人_photoshop教程
·photoshop快速制作粗糙岩石纹理材质_photoshop教程
·用perl来分析并生成中文excel文件_perl教程
·photoshop特效设计-夜明珠_photoshop教程
·关于xsl中count()的使用_xsl教程


 
 


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

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

版权所有 西部数码(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号