1. 什么是 perl ?
perl 就是 practical extraction and reporting language 的简称,是一种最广泛应用于语法分析和 world wide web 的编程语言。它起源于 awk、c、sh 和 sed 语言,然而,它的应用开发远比其他任何一种面向对象编程语言更加容易。
perl 语言由 larry wall 创建,最初作为一种实用解释语言。其主要功能最初是用于分析基于文本的数据和生成这些数据的统计或结果。随着 internet 的普及推广,我们已经感受到 perl 在 cgi 编程和处理格式数据上的强大功能。由于 perl 对 process、文档和文字有很强的处理、变换能力,因此凡是有关快速原型设计、系统工具、软件工具、系统管理、资料库连结、图像程式设计、网络连结和 www 程式设计等之类的任务,都特别适合用 perl 来完成。
2. 关于 #!/usr/bin/perl
在 perl 程序中,第一行必须是服务器上 perl 解释器的路径,一般是 #!/usr/bin/perl 或 #!/usr/sbin/perl,如果你不清楚,可以联系你的主页空间提供商。在 win95/98/nt 的机上装了 perl 解释器后(假设路径是 c:perl),如果你用的是 apache web 服务器,则第一行必须填写 #!/perl/bin/perl ,如果你用的是 omnihttpd 或 iis 的话,只需保留 #!/usr/bin/perl 即可。
3. cgi-bin 目录是什么?
cgi-bin 是 perl 程序的默认存放目录(实际上此目录名字完全是由 webmaster 定义的),系统默认这个目录中的所有文件都是 cgi 程序或是 cgi 程序用来调用的数据。对于 apache 或 iis web 服务器,该目录下不能存放图像、声音和 html 页面(这些文件必须旁谀阒饕成系钠胀柯贾?,但如果你用的是 omnihttpd web 服务器的话,就没有这个限制。
4. perl 程序中能用 来隔开子目录吗?
和 html 编程一样,perl 对子目录分隔用的是 / ,而不是 。
5. perl 程序的上传方式
在 ftp 中,一个文件的上传方式有两种,一种是 ascii,一种是 binnary,上传 perl 程序必须用 ascii 方式上传,否则就会出现 500 internal server error 的出错信息。
在早期的 cuteftp 中,用默认的 auto 上传 perl 程序实际是用 binnary 方式传的,所以使用时一定要吧 auto 改为 ascii,而最新的版本中,cuteftp 的 auto 上传 perl 文件是采用了 ascii 方式,所以无需修改。
6. unix 下和 win 下,用 apache 和 iis 对程序运行效果有什么影响?
在 win 环境下,是不支持 unix 下的一些特殊函数的,比如 flock() 函数等,因此如果你的程序在 win 下运行不正确(一般是出现白页),可以尝试删除 flock() 等函数。在 win 下,无需设置 perl 程序的属性,而在 unix 下,必须设置好正确属性后才能运行(具体请见"perl 程序的属性及其设置祥解"一文)。
在 win 环境下,有两种主流 web 服务器,一种是 apache,一种是 iis。主要的区别是 apche 在表示绝对路径时可用绝对路径的相对形式来表示,但 iis 必须用完整的硬盘路径表示(具体请见"绝对路径与相对路径祥解"一文)。