?? 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 + -