?? perl-cgi-faq.html
字號(hào):
<!-- BBS2HTML[877079778] Areicle by wcf@CCCA.NCTU.edu.tw -->
<HTML><HEAD><TITLE>◇ Perl-CGI 常問(wèn)問(wèn)題集</TITLE></HEAD>
<BODY background="(null)" bgcolor=#000000 text=#ddffdd vlink=#ffff00 link=#ffff11>
<center><H1>◇ Perl-CGI 常問(wèn)問(wèn)題集</H1>
<table><tr><td><pre><hr>發(fā)信人: hsiao@uconnvm.uconn.edu, 信區(qū): programming
標(biāo) 題: Perl-CGI 常問(wèn)問(wèn)題集 -- part1
發(fā)信站: 2 Tigers (Fri Jun 20 16:02:02 1997)
轉(zhuǎn)信站: cis_nctu!news.cis.nctu!UUserv.Net.tw!aidebbs!news.yzit!news.ncu!ctu-pe
來(lái) 源: times.oneway.net
本 Perl-CGI 常問(wèn)問(wèn)題集純文字版以不定期方式在 tw.bbs.comp.www 及
tw.bbs.comp.language
兩個(gè)新聞?dòng)懻撊航M上登載。本文的超文件版及今後第一手
新版資料可自兩只老虎工作室取得,位址為:
<<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>。本純文字版中
內(nèi)容若有和超文件版不一致之處,一切均以後者為準(zhǔn)。本 FAQ TANet 的 mirror
(這個(gè)映射點(diǎn)可能還要等幾天才會(huì)準(zhǔn)備好)位於:
<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>。臺(tái)灣商業(yè)網(wǎng)路的 mirror
則在
<A HREF="http://www.oneway.net/FAQ/perl/">http://www.oneway.net/FAQ/perl/</A>。
譯者編寫本 FAQ(常問(wèn)問(wèn)題集)之動(dòng)機(jī)(和其他新聞群組 FAQ
的目的并無(wú)二致),
乃有鑒於相同的問(wèn)題在討論群中一再出現(xiàn),徒增大家人力、頻寬,及時(shí)間上的浪費(fèi),
因此希望藉此 FAQ
,對(duì)許多反覆出現(xiàn)的問(wèn)題提出正確的解答,并減少錯(cuò)誤資訊的
流傳。所以譯者在此呼吁討論群中的新鮮人在詢問(wèn)有關(guān) Perl-CGI
一類問(wèn)題之前,
務(wù)請(qǐng)遵守網(wǎng)路禮節(jié) (netiquette),先自本 FAQ 中找尋解答。此外本 FAQ
亦適合
作為個(gè)人進(jìn)修 Perl-CGI 程式設(shè)計(jì)的材料。
為方便純文字版讀者起見,所有超文件版中所含的 http 及 ftp
連節(jié)點(diǎn)均附加於
適當(dāng)處括號(hào)中,但唯獨(dú) Q1.5
中的書目表例外(因編排不易)。若對(duì)本中文版常問(wèn)
問(wèn)題集有任何問(wèn)題及意見,請(qǐng) email 譯者。
原文版、中譯版版權(quán)事宜,詳見第 5 部份文底(復(fù)制、轉(zhuǎn)載者務(wù)必遵守)。
--蕭百齡
Pai-ling Hsiao <hsiao@uconnvm.uconn.edu>
-------- 8< ------- Cut Here ------- 8< --------
中文版 Perl CGI 程式寫作常問(wèn)問(wèn)題集 (Perl CGI Programming FAQ)
=============================================================
版本: 1.0
原文作者:
Shishir Gundavaram <shishir@ora.com>
Tom Christiansen <tchrist@perl.com>
中譯、補(bǔ)充:
蕭百齡 <hsiao@uconnvm.uconn.edu>
版權(quán)事宜:(復(fù)制、轉(zhuǎn)載者務(wù)必遵守)
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.
本文件著作權(quán)屬於 Shishir Gundavaram 及 Tom Christiansen 所
有,Copyright (C) 1996。在不涉及收費(fèi)營(yíng)利、盡可能地使用最新
版,及所有著作權(quán)告示保持完整的情況下,作者允許任何人透過(guò)電
子形式(電子郵件、討論群布告,或存放),或印表方式對(duì)本文件
作完整或部份發(fā)行。如欲將本文件作其他方式發(fā)行,包括將本文件
附加於商業(yè)產(chǎn)品,諸如書籍、雜志文章,或光碟等之中,必須事先對(duì)
二位作者其中一人提出請(qǐng)求,以徵得許可授權(quán)。
本中譯版及譯者補(bǔ)充部份著作權(quán)屬蕭百齡及兩只老虎工作室所有,
Copyright (C) 1997。本中譯版遵守并使用與上述原文版相同的使用
條款發(fā)行。
---------------------------------------------------------------------------
文體說(shuō)明:
1.
譯者已就原文中語(yǔ)焉不詳、資訊過(guò)時(shí),或可作額外補(bǔ)充之處附加注解。這些注解
均以星號(hào) (*) 於適當(dāng)處(通常為句尾)標(biāo)示。實(shí)際的說(shuō)明文字則大多緊鄰星號(hào)
所在的段落,自成一段。所有注解文字均以「【譯者】」起頭。
2. □例中的 Perl 程式碼已由譯者適度加以翻譯、去除多馀的括弧,并依
perlstyle manpages 中所建議的寫作格式及習(xí)慣稍作修整。
---------------------------------------------------------------------------
目錄:
1.0 -入門簡(jiǎn)介
Q1.1: 為什麼我的 HTML page/form 需要用 script?
Q1.2: CGI 各代表什麼?
Q1.3: 到底什麼叫 script?我能拿它來(lái)能做什麼?
Q1.4: 什麼是 Perl?為什麼有那麼多人用它來(lái)做 CGI?
Q1.5: 有沒(méi)有教 CGI 或 Perl 的書或是線上資料?
Q1.6: 是不是有這方面的郵遞論壇 (mailing lists) 或新聞?dòng)懻撊航M?
Q1.7: 網(wǎng)路上是不是有專門收藏郵遞論壇或新聞?dòng)懻撊航M的 posts 的站?
2.0 - Modules (模組)
Q2.1: 我是不是該用 Perl CGI modules 來(lái)寫 CGI scripts
?自己做不是比較容
易嗎?
Q2.2: 如何知道某個(gè) module 該怎麼個(gè)用法?
Q2.3: 有哪些 Perl4 的 CGI 或 WWW的 libraries ?
Q2.4: 有哪些給 Perl5 使用的 CGI modules?我該用哪個(gè)?為什麼?
Q2.5: 為什麼這麼多 perl CGI libraries 都是 object-oriented
(物件導(dǎo)向)
的?我對(duì)用物件導(dǎo)向來(lái)寫程式一竅不通。難道就沒(méi)有簡(jiǎn)單一點(diǎn),給不會(huì)物
件導(dǎo)向的人使用的 libraries 嗎?物件導(dǎo)向有多難?
3.0 - CGI 與 WWW Server
Q3.1: 我的 Perl CGI 程式要放在哪里執(zhí)行?cgi-bin
這個(gè)目錄是做甚麼用的?
Q3.2: 什麼是檔案使用權(quán)限?怎樣改?
Q3.3: Perl 應(yīng)該安裝在哪里才可以執(zhí)行它?
Q3.4: 我為什麼一直得到 ``Server: Error 500'' 的訊息?
Q3.5: 我試著打開一個(gè)檔案,想把資料儲(chǔ)存在里頭,但是 open() 的指令失敗
了。到底是怎麼搞的?
4.0 -程式設(shè)計(jì)疑難雜癥
Q4.1: 我想讓 user 填的 form 資料自動(dòng)寄給我,該怎麼做?有沒(méi)有□例?
Q4.2: 剛才這個(gè)用 form 送信的 script 看起來(lái)有點(diǎn)難。為什麼不乾脆用
``mailto: URL'',這樣 user 填入的資料就可以寄給我了?
Q4.3: 我要如何在 UNIX 以外的平臺(tái)上做 Perl-CGI,譬如 Mac、MS-DOS、
Windows 及 NT?我的 Perl CGI 程式能不能在這些平臺(tái)之間互相移植呢?
能不能很直接,沒(méi)有麻煩?我在 UNIX 主機(jī)上有帳號(hào),但是都是先在
Windows/Mac 上做。我要如何在我自己的機(jī)器上測(cè)試寫好的 CGI scripts
?
Q4.4: 在 Perl CGI 程式中,STDERR (標(biāo)準(zhǔn)錯(cuò)誤訊息)、STDIN
(標(biāo)準(zhǔn)輸入),和
STDOUT (標(biāo)準(zhǔn)輸出)各是連到何處?
Q4.5: 如何寫計(jì)數(shù)器?
Q4.6: 要如何用一個(gè) Perl 的取代指令將所有 HTML 標(biāo)簽從一份文件中刪除?
Q4.7: 要如何知道是誰(shuí)/哪臺(tái)機(jī)器/哪個(gè)瀏覽器執(zhí)行了我的程式?
Q4.8: 人家看得到我的 Perl CGI
程式嗎?如果是這樣的話,那不就讓他們知道
我的程式是怎麼運(yùn)作的了。這是個(gè)安全漏洞嗎?我要怎麼把它隱藏起來(lái)?
Q4.9: 我需要將整個(gè) Perl library 都復(fù)制到我的 htdocs 目錄底下嗎?
Q4.10:
我為什麼不該叫使用者輸入他們的密碼或身份證字號(hào)或信用卡號(hào)碼?有一
個(gè) TYPE="password" 不是就是拿來(lái)做這個(gè)的嗎?
Q4.11: 我要如何產(chǎn)生專門替 Netscape
設(shè)計(jì)的網(wǎng)頁(yè),以別於世上其他的瀏覽器?
Q4.12: 為什麼我的 system() 所產(chǎn)生的資料輸出順序不對(duì)?
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -