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 必须用完整的硬盘路径表示(具体请见"绝对路径与相对路径祥解"一文)。