PerlCGI程式写作常问问题集(1)入门简介

作者:凯旋网络来源:凯旋网络
版本:1.0

原文作者:
ShishirGundavaram
TomChristiansen

中译、补充:
萧百龄

文体说明:

译者已就原文中语焉不详、资讯过时,或可作额外补充之处附加注解。这些注解均以星号(*)於适当处(通常为句尾)标示。实际的说明文字则大多紧邻星号所在的段落,自成一段。所有注解文字均以「【译者】」起头。
范例中的Perl程式码已由译者适度加以翻译、去除多馀的括弧,并依perlstylemanpages中所建议的写作格式及习惯稍作修整。
--------------------------------------------------------------------------------
 
1.0-入门简介

--------------------------------------------------------------------------------

Q1.1:为什麽我的HTMLpage/form需要用script?
因为有的时候您需要在HTML文件中使用动态资料(非固定不变的资料)。这包括了日期和时间这类的简单资料,或是一个显示「您是第xxx位访客」的计数器。但它也可能包括根据使用者输入而得出的大饼图/条统图、资料库搜寻产生的结果,或动画等这类的东西。要做出像这样的东西,您唯一的方法是使用CGIscripts(尽管您也可以应用客户端程式,如Java和JavaScript来达到这个目的,不过那又是完全不同的一回事!)。



--------------------------------------------------------------------------------

Q1.2:CGI各代表什麽?
以下是我的编辑*AndyOram和LindaMui(他们很棒!)所写的一段非常好的描述:

【译者】这是原文的第一作者ShishirG.指他所写的CGIProgrammingontheWorldWideWeb一书的编辑。

Common向您确保CGI可以使用多种程式语言并和多种
不同的系统互动。它让您自由选择达到目的的方
法,不把您绑死在单独一种作法之下*。

Gateway提示您CGI的力量不在於它本身所做的事,而
在於它提供了连结其他系统的潜力,例如资料库
和图形制造器。

Interface只是表示CGI对如何善用其特性提供了明确的
界定-换句话说,您可以设计程式来适当利用这
个介面。


【译者】似乎有影射Java之意。


--------------------------------------------------------------------------------

Q1.3:到底什麽叫script?我能拿它来能做什麽?
简单的说,script就是程式!好吧、好吧,应该说二者有语意上的差别。如果您真的想知道,那麽去买一本电脑程式设计的书来看(或许该说script设计:-))。

您可以藉着写CGI程式/script变很多魔术。您可以即时制作图形、连结资料库传回【查询】结果,还可以连到Internet上其他的servers去。



--------------------------------------------------------------------------------

Q1.4:什麽是Perl?为什麽有那麽多人用它来做CGI?
答案就在perlmanpage中的前叁行叙述:

Perl是一解译式的语言,专为高效率检视文字档案、从中抽取资料,据以印制报表而设计。

绝大多数CGI应用程式的任务都涉及对资料作某种程度的处理,及连结外在程式。Perl恰好提供了好用的工具,让人轻松愉快地达成这些任务。



--------------------------------------------------------------------------------

Q1.5:有没有教CGI或Perl的书或是线上资料?
NCSA的CGI文件
Forms入门指引
许多CGI资源结点
原始的CGIFAQ
PerlFAQ
由LincolnStein所着,一份很完整的WWW及CGI操作安全FAQ
PaulPhillips所着,CGI安全FAQ
WWWFAQ
【译者】此份FAQ的中译版可在http://www.acer.net/document/cwwwfaq/处取得。

以下是由CyeH.Waldman所整理的CGI和Perl书籍一览表*:

【译者】此表由译者更新,同时加入了原文作者TomC.的Perl书评以供读者参考。请注意:CGI各书的等级评定乃单就其Perl部份的水准及正确性而言。符号说明:(TomC.用骆驼而非星星)

五颗星(*****)==>很棒的书(terrificbooks)
四颗星(****)==>不错的书(finebooks)
叁颗星(***)==>像样的书
  • 广告推荐