Perl 入門教程login
Perl 入門教程
作者:php.cn  更新時間:2022-04-14 16:05:12

Perl 基礎語法


#

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

Perl 語言沒有嚴格的格式規範,你可以依照自己喜歡的風格來縮排。


第一個perl 程式

互動式程式設計

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

$ perl -e 'print "Hello World\n"'

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

Hello World

腳本式程式設計

我們將以下程式碼放到hello. pl 檔案中:

#!/usr/bin/perl

# 输出 "Hello, World"
print "Hello, world\n";

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

$ chmod 0755 hello.pl 
$ ./hello.pl 
Hello, world                   # 输出结果

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

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

腳本檔

perl 程式碼可以寫在一個文字檔中,以.pl、.PL 作為後綴。

檔案名稱可以包含數字,符號和字母,但不能包含空格,可以使用底線(_)來取代空格。

一個簡單的Perl 檔案名稱:

run_oob.pl

註解

使用註解使你的程式易讀,這是好的程式設計習慣。

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

# 这一行是 perl 中的注释

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

#!/usr/bin/perl

# 这是一个单行注释
print "Hello, world\n";

=pdo 注释
这是一个多行注释
这是一个多行注释
这是一个多行注释
这是一个多行注释
=cut

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

Hello, world

#注意:

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

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

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


Perl 中的空白

Perl 解譯器不會關心有多少個空白,以下程式也能正常運作:

#!/usr/bin/perl

print       "Hello, world\n";

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

Hello, world

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

#!/usr/bin/perl

# 会输出分行
print "Hello
          world\n";

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

Hello
          world

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


單引號和雙引號

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

#!/usr/bin/perl

print "Hello, world\n";    # 双引号
print 'Hello, world\n';    # 单引号

輸出結果如下:

Hello, world
Hello, world\n

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

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

#!/usr/bin/perl

$a = 10;
print "a = $a\n";
print 'a = $a\n';

輸出結果如下:

a = 10
a = $a\n


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 = $a
EOF
print "$var\n";

$var = <<'EOF';
这是一个 Here 文档实例,使用单引号。
例如:a = $a
EOF
print "$var\n";

執行上述程式輸出結果為:

这是一个 Here 文档实例,使用双引号。
可以在这输如字符串和变量。
例如:a = 10

这是一个 Here 文档实例,使用单引号。
例如:a = $a

#轉義字元

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

#!/usr/bin/perl

$result = "php中文网 \"php\"";
print "$result\n";
print "$result\n";

執行上述程式輸出結果為:


Perl 標識符

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

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

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

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


##########

PHP中文網