perl入門知識(2)

2021-09-07 11:14:45 字數 2557 閱讀 3559

互動式程式設計

你可以在命令列中使用 -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

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

eofprint "$var\n";

$var = <<'eof';

這是乙個 here 文件例項,使用單引號。

例如:a = $a

eofprint "$var\n";

轉義字元

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

#!/usr/bin/perl

$result = "菜鳥教程 \"runoob\"";

print "$result\n";

print "\$result\n";

特殊用法

$# - 用來取得陣列的最大index, 一般情況下,也可以用-1來表示最後乙個元素。

常用函式

printf:輸出函式,用法同c語言中一樣;

length:輸出包含內容的長度:如length("asdf")=4;

chop:去除最後乙個字元:chop("abcd")="abc";

chomp:去除尾部的回車換行:chomp("abcd\n")="abcd";

substr($string,m,n):給定字串,從第m位開始擷取n位長度: substr("hello",2,3)="llo", 計數從0開始,n可省略,即至尾部;

賦值運算子

算術運算子

數值關係運算子

字串關係運算子

邏輯運算子

位運算

特殊運算子

檔案資料運算子

perl入門知識(3)

引用 在很多場合下使用引用傳值,能在很大程度上提高 的執行效率。定義乙個引用在變數名前加 就可以了,如 ra a rb b rc c 變數名前面依然是 而得到的引用是不能直接當做變數使用,需要解引用。解引用的方法是在變數名前加上變數原本型別所對應的符號。比如 rb是對乙個陣列的引用,那為了得到陣列,...

perl入門知識(3)

引用 在很多場合下使用引用傳值,能在很大程度上提高 的執行效率。定義乙個引用在變數名前加 就可以了,如 ra a rb b rc c 變數名前面依然是 而得到的引用是不能直接當做變數使用,需要解引用。解引用的方法是在變數名前加上變數原本型別所對應的符號。比如 rb是對乙個陣列的引用,那為了得到陣列,...

perl 入門知識(1)

一 語句及注釋 perl 語句以分號 結尾,用 作為一行的注釋,沒有其它語言中那種跨行的注釋。塊用大括號圍起來,這個和 c 類似,但這個大括號在有些地方是強制要求,如在 if for,do,while 等語句中,它不像其它語言一樣會用縮進來判斷塊。二 變數 標量 scalar 列表 list per...