📄 perl-cgi-faq.html
字号:
<!-- BBS2HTML[877079778] Areicle by wcf@CCCA.NCTU.edu.tw -->
<HTML><HEAD><TITLE>◇ Perl-CGI 常问问题集</TITLE></HEAD>
<BODY background="(null)" bgcolor=#000000 text=#ddffdd vlink=#ffff00 link=#ffff11>
<center><H1>◇ Perl-CGI 常问问题集</H1>
<table><tr><td><pre><hr>发信人: hsiao@uconnvm.uconn.edu, 信区: programming
标 题: Perl-CGI 常问问题集 -- part1
发信站: 2 Tigers (Fri Jun 20 16:02:02 1997)
转信站: cis_nctu!news.cis.nctu!UUserv.Net.tw!aidebbs!news.yzit!news.ncu!ctu-pe
来 源: times.oneway.net
本 Perl-CGI 常问问题集纯文字版以不定期方式在 tw.bbs.comp.www 及
tw.bbs.comp.language
两个新闻讨论群组上登载。本文的超文件版及今後第一手
新版资料可自两只老虎工作室取得,位址为:
<<A HREF="http://www.opim.uconn.edu/~2T/perl/perl-cgi-faq-chi/>">http://www.opim.uconn.edu/~2T/perl/perl-cgi-faq-chi/></A>。本纯文字版中
内容若有和超文件版不一致之处,一切均以後者为准。本 FAQ TANet 的 mirror
(这个映射点可能还要等几天才会准备好)位於:
<A HREF="ftp://www.math.ncu.edu.tw/pub/staff/chenym/FAQ/Perl/">ftp://www.math.ncu.edu.tw/pub/staff/chenym/FAQ/Perl/</A> (anonymous FTP)
和
<A HREF="http://www.math.ncu.edu.tw/~chenym/FAQ/Perl/">http://www.math.ncu.edu.tw/~chenym/FAQ/Perl/</A>。台湾商业网路的 mirror
则在
<A HREF="http://www.oneway.net/FAQ/perl/">http://www.oneway.net/FAQ/perl/</A>。
译者编写本 FAQ(常问问题集)之动机(和其他新闻群组 FAQ
的目的并无二致),
乃有鉴於相同的问题在讨论群中一再出现,徒增大家人力、频宽,及时间上的浪费,
因此希望藉此 FAQ
,对许多反覆出现的问题提出正确的解答,并减少错误资讯的
流传。所以译者在此呼吁讨论群中的新鲜人在询问有关 Perl-CGI
一类问题之前,
务请遵守网路礼节 (netiquette),先自本 FAQ 中找寻解答。此外本 FAQ
亦适合
作为个人进修 Perl-CGI 程式设计的材料。
为方便纯文字版读者起见,所有超文件版中所含的 http 及 ftp
连节点均附加於
适当处括号中,但唯独 Q1.5
中的书目表例外(因编排不易)。若对本中文版常问
问题集有任何问题及意见,请 email 译者。
原文版、中译版版权事宜,详见第 5 部份文底(复制、转载者务必遵守)。
--萧百龄
Pai-ling Hsiao <hsiao@uconnvm.uconn.edu>
-------- 8< ------- Cut Here ------- 8< --------
中文版 Perl CGI 程式写作常问问题集 (Perl CGI Programming FAQ)
=============================================================
版本: 1.0
原文作者:
Shishir Gundavaram <shishir@ora.com>
Tom Christiansen <tchrist@perl.com>
中译、补充:
萧百龄 <hsiao@uconnvm.uconn.edu>
版权事宜:(复制、转载者务必遵守)
This document, and all its parts, are Copyright (c) 1996,
Shishir Gundavaram and Tom Christiansen. All rights
reservered. Permisson to distribute this collection, in part
or full, via electronic means (emailed, posted or archived)
or printed copy are granted providing that no charges are
involved, reasonable attempt is made to use the most current
version, and all credits and copyright notices are retained.
Requests for other distribution rights, including
incorporation in commercial products, such as books,
magazine articles, or CD-ROMs should be made to either of
the authors.
本文件著作权属於 Shishir Gundavaram 及 Tom Christiansen 所
有,Copyright (C) 1996。在不涉及收费营利、尽可能地使用最新
版,及所有著作权告示保持完整的情况下,作者允许任何人透过电
子形式(电子邮件、讨论群布告,或存放),或印表方式对本文件
作完整或部份发行。如欲将本文件作其他方式发行,包括将本文件
附加於商业产品,诸如书籍、杂志文章,或光碟等之中,必须事先对
二位作者其中一人提出请求,以徵得许可授权。
本中译版及译者补充部份著作权属萧百龄及两只老虎工作室所有,
Copyright (C) 1997。本中译版遵守并使用与上述原文版相同的使用
条款发行。
---------------------------------------------------------------------------
文体说明:
1.
译者已就原文中语焉不详、资讯过时,或可作额外补充之处附加注解。这些注解
均以星号 (*) 於适当处(通常为句尾)标示。实际的说明文字则大多紧邻星号
所在的段落,自成一段。所有注解文字均以「【译者】」起头。
2. □例中的 Perl 程式码已由译者适度加以翻译、去除多馀的括弧,并依
perlstyle manpages 中所建议的写作格式及习惯稍作修整。
---------------------------------------------------------------------------
目录:
1.0 -入门简介
Q1.1: 为什麽我的 HTML page/form 需要用 script?
Q1.2: CGI 各代表什麽?
Q1.3: 到底什麽叫 script?我能拿它来能做什麽?
Q1.4: 什麽是 Perl?为什麽有那麽多人用它来做 CGI?
Q1.5: 有没有教 CGI 或 Perl 的书或是线上资料?
Q1.6: 是不是有这方面的邮递论坛 (mailing lists) 或新闻讨论群组?
Q1.7: 网路上是不是有专门收藏邮递论坛或新闻讨论群组的 posts 的站?
2.0 - Modules (模组)
Q2.1: 我是不是该用 Perl CGI modules 来写 CGI scripts
?自己做不是比较容
易吗?
Q2.2: 如何知道某个 module 该怎麽个用法?
Q2.3: 有哪些 Perl4 的 CGI 或 WWW的 libraries ?
Q2.4: 有哪些给 Perl5 使用的 CGI modules?我该用哪个?为什麽?
Q2.5: 为什麽这麽多 perl CGI libraries 都是 object-oriented
(物件导向)
的?我对用物件导向来写程式一窍不通。难道就没有简单一点,给不会物
件导向的人使用的 libraries 吗?物件导向有多难?
3.0 - CGI 与 WWW Server
Q3.1: 我的 Perl CGI 程式要放在哪里执行?cgi-bin
这个目录是做甚麽用的?
Q3.2: 什麽是档案使用权限?怎样改?
Q3.3: Perl 应该安装在哪里才可以执行它?
Q3.4: 我为什麽一直得到 ``Server: Error 500'' 的讯息?
Q3.5: 我试著打开一个档案,想把资料储存在里头,但是 open() 的指令失败
了。到底是怎麽搞的?
4.0 -程式设计疑难杂症
Q4.1: 我想让 user 填的 form 资料自动寄给我,该怎麽做?有没有□例?
Q4.2: 刚才这个用 form 送信的 script 看起来有点难。为什麽不乾脆用
``mailto: URL'',这样 user 填入的资料就可以寄给我了?
Q4.3: 我要如何在 UNIX 以外的平台上做 Perl-CGI,譬如 Mac、MS-DOS、
Windows 及 NT?我的 Perl CGI 程式能不能在这些平台之间互相移植呢?
能不能很直接,没有麻烦?我在 UNIX 主机上有帐号,但是都是先在
Windows/Mac 上做。我要如何在我自己的机器上测试写好的 CGI scripts
?
Q4.4: 在 Perl CGI 程式中,STDERR (标准错误讯息)、STDIN
(标准输入),和
STDOUT (标准输出)各是连到何处?
Q4.5: 如何写计数器?
Q4.6: 要如何用一个 Perl 的取代指令将所有 HTML 标签从一份文件中删除?
Q4.7: 要如何知道是谁/哪台机器/哪个浏览器执行了我的程式?
Q4.8: 人家看得到我的 Perl CGI
程式吗?如果是这样的话,那不就让他们知道
我的程式是怎麽运作的了。这是个安全漏洞吗?我要怎麽把它隐藏起来?
Q4.9: 我需要将整个 Perl library 都复制到我的 htdocs 目录底下吗?
Q4.10:
我为什麽不该叫使用者输入他们的密码或身份证字号或信用卡号码?有一
个 TYPE="password" 不是就是拿来做这个的吗?
Q4.11: 我要如何产生专门替 Netscape
设计的网页,以别於世上其他的浏览器?
Q4.12: 为什麽我的 system() 所产生的资料输出顺序不对?
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -