2011-05-09 29 views
7

我聽說過很多關於在Web開發中使用Perl的CGI腳本,但它們今天仍然被廣泛使用嗎?從發展(非行政)的角度來看,值得學習嗎?什麼是比Perl更好的在Perl中處理的例子?Web開發中的Perl

感謝

+1

CGI仍然廣泛使用,不僅與Perl,但經常在託管PHP腳本作爲CGI運行。其他語言也一樣。 – 2011-05-11 15:41:53

回答

10

我的回答是,CGI是過時的,你不應該學習網絡編程在Perl與CGI相結合。有一個非常漂亮的網絡框架Mojolicious,這可能是一個開始使用Perl進行網絡編程的有趣方式。一旦你想將你的應用程序部署到服務器上,你可以使用PSGI來連接服務器和你的應用程序。 Dotcloud似乎是一個有前途的,這種應用程序無憂無慮的主機。

至於PHP與Perl的問題,如果不引起火焰戰爭就很難回答。對我來說,Perl更加成熟和更好地思考生態系統。意見可能會有所不同。

7

在這裏做主觀的斷言,是不是最好的辦法,我只能用一些招聘網站爭論(你可以看到,比Perl依然領跑):

另一方面,「CGI」是古老的。現在Perl開發人員使用Plack(PSGI)和類似的技術。

-2

我敢說,今天Perl/CGI腳本沒有新的做法,但可能還有很多遺留網站仍然使用Perl/CGI實現。從開發的角度來看,我認爲值得花一兩天的時間用Perl學習CGI(假設你已經瞭解Perl)。我這樣說是因爲使用Perl的CGI(通用網關接口)將使您知道Web的基礎(即HTTP POST,GET,請求變量,服務器環境變量)。使用Perl/CGI,您可以直接操作這些東西,而且在處理當今任何現代框架時,動手能力都會很有幫助。

10

不要打擾任何語言(Perl,C等)的CGI,但要看看現代Web框架。而在這一領域的Perl滿載:

而且因爲它們都使用PSGI您可以在任何服務器等的FastCGI上部署它們,Apache/mod_perl,nginx和遺留的CGI腳本。還有Perl特定的應用程序服務器,如Starman,Corona,Tatsumaki等。