深圳制作手機(jī)網(wǎng)站制作app平臺需要多少錢
介紹一些編程語言— Perl 語言
Perl 語言
簡介
Perl 是一種動態(tài)解釋型的腳本語言。 最初的設(shè)計(jì)者為拉里?沃爾,它于 1987 1987 1987 年 12 12 12 月 18 18 18 日發(fā)表。Perl 借取了 C、sed、awk、shell scripting 以及很多其他編程語言的特性。其中最重要的特性是他內(nèi)部集成了正則表達(dá)式的功能,以及巨大的第三方代碼庫 CPAN。
產(chǎn)生背景
1987 1987 1987 年 Larry Wall 發(fā)布 Perl1.0 以來,用戶數(shù)一直急劇增加,同時(shí)越來越多的程序員與軟件開發(fā)者參與 Perl 的開發(fā)。從最初被當(dāng)做一種跨平臺環(huán)境中書寫可移植工具的高級語言開始,Perl 被廣泛地認(rèn)為是一種工業(yè)級的強(qiáng)大工具,可以在任何地方用來完成你的工作。perl 的前身是 Unix 系統(tǒng)管理的一個(gè)工具,被用在無數(shù)的小任務(wù)里。后逐漸發(fā)展成為一種功能強(qiáng)大的程序設(shè)計(jì)語言,用作 Web 編程、數(shù)據(jù)庫處理、XML 處理以及系統(tǒng)管理;在完成這些工作時(shí),同時(shí)仍能處理日常細(xì)小工作,這是它的設(shè)計(jì)初衷。Perl 特別適合系統(tǒng)管理和 Web 編程。實(shí)際上已經(jīng)被用在所有 Unix 捆綁在一起作為標(biāo)準(zhǔn)部件發(fā)布,同時(shí)也用于 Microsoft Windows 和幾乎所有操作系統(tǒng)。Perl 的應(yīng)用非常廣泛。
Perl 優(yōu)點(diǎn)
-
相比 C、Pascal 這樣的"高級"語言而言,Perl 語言直接提供泛型變量、動態(tài)數(shù)組、Hash 表等更加便捷的編程元素。
-
Perl 具有動態(tài)語言的強(qiáng)大靈活的特性,并且還從 C/C++、Basic、Pascal 等語言中分別借鑒了語法規(guī)則,從而提供了許多冗余語法。
-
在統(tǒng)一變量類型和掩蓋運(yùn)算細(xì)節(jié)方面,Perl做得比其他高級語言(如:Python)更為出色。
-
由于從其他語言大量借鑒了語法,使得從其他編程語言轉(zhuǎn)到 Perl 語言的程序員可以迅速上手寫程序并完成任務(wù),這使得 Perl 語言是一門容易用的語言。
-
Perl 是可擴(kuò)展的,我們可以通過 CPAN 中心倉庫找到很多我們需要的模塊。
-
Perl 的 mod_perl 的模塊允許 Apache web 服務(wù)器使用 Perl 解釋器。
Perl 缺點(diǎn)
-
也正是因?yàn)?Perl 的靈活性和"過度"的冗余語法,也因此獲得了僅寫的"美譽(yù)",因?yàn)?Perl 程序可以寫得很隨意,但是可能少寫一些字母就會得到意想不到的結(jié)果(而不報(bào)錯),許多 Perl 程序的代碼令人難以閱讀,實(shí)現(xiàn)相同功能的程序代碼長度可以相差十倍百倍,這就令程序的維護(hù)者(甚至是編寫者)難以維護(hù)。
-
同樣的,因?yàn)?Perl 這樣隨意的特點(diǎn),可能會導(dǎo)致一些 Perl 程序員遺忘語法,以至于不得不經(jīng)常查看 Perl 手冊。
-
建議的解決方法是在程序里使用 use strict;以及 use warnings,并統(tǒng)一代碼風(fēng)格,使用庫,而不是自己使用"硬編碼"。Perl 同樣可以將代碼書寫得像 Python 或 Ruby 等語言一樣優(yōu)雅。
-
很多時(shí)候,perl.exe 進(jìn)程會占用很多的內(nèi)存空間,雖然只是一時(shí),但是感覺不好。
簡單程序
輸出 Hello World
#!C:\Perl\bin #Windows 平臺下
#!/usr/bin/env perl #Linux 環(huán)境下
print "Hello,World!\n";
A + B problem
my $in = <STDIN>;
chomp $in;
$in = [split /[\s,]+/, $in];
my $c = $in->[0] + $in->[1];
print "$c\n";
參考
-
https://www.perl.org/
-
https://baike.baidu.com/item/perl/851577?fr=ge_ala
-
https://www.runoob.com/perl/perl-intro.html
-
https://www.oschina.net/p/perl?hmsr=aladdin1e1