當前位置:
首頁 > 知識 > Perl 基礎語法

Perl 基礎語法

Perl借用了C、sed、awk、shell腳本以及很多其他編程語言的特性,語法與這些語言有些類似,也有自己的特點。

Perl 程序有聲明與語句組成,程序自上而下執行,包含了循環,條件控制,每個語句以分號 (;) 結束。

Perl 語言沒有嚴格的格式規範,你可以根據自己喜歡的風格來縮進。



第一個 perl 程序

互動式編程

你可以在命令行中使用 -e 選項來輸入語句來執行代碼,實例如下:

$ perl -e "print "Hello World
""

輸入以上命令,回車後,輸出結果為:

Hello World

腳本式編程

我們將以下代碼放到 hello.pl 文件中:

實例

#!/usr/bin/perl# 輸出 "Hello, World"print"Hello, world
";

代碼中 /usr/bin/perl 是 perl 解釋器的路徑。在執行該腳本前要先確保文件有可執行許可權,我們可以先將文件許可權修改為 0755 :

$ chmod 0755 hello.pl
$ ./hello.pl
Hello, world # 輸出結果

print 也可以使用括弧來輸出字元串,以下兩個語句輸出相同的結果:

print("Hello, world
");print "Hello, world
";


腳本文件

perl 代碼可以寫在一個文本文件中,以 .pl、.PL 作為後綴。

文件名可以包含數字,符號和字母,但不能包含空格,可以使用下劃線(_)來替代空格。

一個簡單的Perl 文件名:

run_oob.pl


注釋

使用注釋使你的程序易讀,這是好的編程習慣。

perl 注釋的方法為在語句的開頭用字元#,如:

# 這一行是 perl 中的注釋

perl 也支持多行注釋,最常用的方法是使用 POD(Plain Old Documentations) 來進行多行注釋。方法如下:

實例

#!/usr/bin/perl# 這是一個單行注釋print"Hello, world
";
=pod 注釋
這是一個多行注釋
這是一個多行注釋
這是一個多行注釋
這是一個多行注釋=cut

執行以上程序,輸出結果為:

Hello, world

注意:

  • =pod、 =cut只能在行首。

  • 以=開頭,以=cut結尾。

  • =後面要緊接一個字元,=cut後面可以不用。


Perl 中的空白

Perl 解釋器不會關心有多少個空白,以下程序也能正常運行:

實例

#!/usr/bin/perlprint"Hello, world
";

執行以上程序,輸出結果為:

Hello, world

但是如果空格和分行出現在字元串內,他會原樣輸出:

實例

#!/usr/bin/perl# 會輸出分行print"Hello
world
";

執行以上程序,輸出結果為:

Hello
world

所有類型的空白如:空格,tab ,空行等如果在引號外解釋器會忽略它,如果在引號內會原樣輸出。



單引號和雙引號

perl 輸出字元串可以使用單引號和雙引號,如下所示:

實例

#!/usr/bin/perlprint"Hello, world
"; # 雙引號print"Hello, world
"; # 單引號

輸出結果如下:

Hello, worldHello, world

從結果中我們可以看出,雙引號
輸出了換行,而單引號沒有。

Perl雙引號和單引號的區別: 雙引號可以正常解析一些轉義字元與變數,而單引號無法解析會原樣輸出。

實例

#!/usr/bin/perl$a = 10;print"a = $a
";print"a = $a
";

輸出結果如下:

a = 10a = $a


Here 文檔

Here文檔又稱作heredoc、hereis、here-字串或here-腳本,是一種在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序語言(像Perl、PHP、Python和Ruby)里定義一個字串的方法。

使用概述:

  • 1.必須後接分號,否則編譯通不過。

  • 2.END可以用任意其它字元代替,只需保證結束標識與開始標識一致。

  • 3.結束標識必須頂格獨自佔一行(即必須從行首開始,前後不能銜接任何空白和字元)。

  • 4.開始標識可以不帶引號號或帶單雙引號,不帶引號與帶雙引號效果一致,解釋內嵌的變數和轉義符號,帶單引號則不解釋內嵌的變數和轉義符號。

  • 5.當內容需要內嵌引號(單引號或雙引號)時,不需要加轉義符,本身對單雙引號轉義,此處相當與q和qq的用法。

實例

#!/usr/bin/perl$a = 10;$var = <<"EOF";
這是一個 Here 文檔實例,使用雙引號。
可以在這輸如字元串和變數。
例如:a = $aEOFprint"$var
";
$var = <<"EOF";
這是一個 Here 文檔實例,使用單引號。
例如:a = $aEOFprint"$var
";

執行以上程序輸出結果為:

這是一個 Here 文檔實例,使用雙引號。可以在這輸如字元串和變數。例如:a = 10這是一個 Here 文檔實例,使用單引號。例如:a = $a


轉義字元

如果我們需要輸出一個特殊的字元,可以使用反斜線()來轉義,例如輸出美元符號($):

實例

#!/usr/bin/perl$result = "我愛學習 "run"";print"$result
";print"$result
";

Perl 基礎語法



Perl 標識符

Perl 標識符是用戶編程時使用的名字,在程序中使用的變數名,常量名,函數名,語句塊名等統稱為標識符。

  • 標識符組成單元:英文字母(a~z,A~Z),數字(0~9)和下劃線(_)。

  • 標識符由英文字母或下劃線開頭。

  • 標識符區分大小寫,$runoob 與 $Runoob 表示兩個不同變數。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

Django 模型
jQuery UI 實例-放置(Droppable)

TAG:程序員小新人學習 |