1. 程式人生 > >perl入門知識(2)

perl入門知識(2)

連接符 用法 num 路徑 常用函數 表示 取余 運算符 內容

交互式編程
你可以在命令行中使用 -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
EOF
print "$var\n";


$var = <<‘EOF‘;
這是一個 Here 文檔實例,使用單引號。
例如:a = $a
EOF
print "$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可省略,即至尾部;

賦值運算符

  • = 賦值
  • += 例如:$num += 1; 等價於$num =$num+1;
  • -= 例如:$num -= 1; 等價於$num =$num-1;
  • *= 例如:$num *= 1; 等價於$num =$num*1;
  • /= 例如:$num /= 1; 等價於$num =$num/1;
  • %= 例如:$num %= 1; 等價於$num =$num%1; #取模,除以那個數取余數
  • **= 例如:$num **= 2; 等價於$num =$num**2; #**代表冪,$num的2次方
  • .= 例如:$str.=“ string” 等價於 $str = $str." string";# . 代表連接符,將兩個字符串拼接起來

算術運算符

  • +
  • -
  • *
  • /
  • % 取余數
  • ** 冪指數 10**2 即10的2次方
  • ++
  • --
  • . 連接字符串,"this is a "."string" = "this is a string"

數值關系運算符

  • > 大於
  • >= 大於等於
  • < 小於
  • <= 小於等於
  • == 等於
  • != 不等於
  • <=> 大於:1;等於:0;小於:-1;

字符串關系運算符

  • gt 大於
  • ge 大於等於
  • lt 小於
  • le 小於等於
  • eq 等於
  • ne 不等於
  • cmp 大於:1;等於:0;小於:-1;

邏輯運算符

  • &&或and 與 全真則真
  • || 或or 或 全假則假
  • !或not 非 真假假真
  • xor 異或 同假異真

位運算

  • & 按位與
  • | 按位或
  • ~ 按位非
  • ^ 按位異或
  • << 左移位
  • >> 右移位

特殊運算符

  • .. 區間表示 如 1..3 等價於 1,2,3
  • ?: 三目操作符,滿足?前條件執行:前內容,不滿足執行:後內容

文件數據運算符

  • -r $file 如果$file是可讀取的話,返回1的值
  • -w $file 如果$file是可寫入的話,返回1的值
  • -x $file 如果$file是可執行的話,返回1的值
  • -e $file 如果$file存在的話,返回1的值
  • -o $file 如果$file是被執行才所擁有的話,返回1的值
  • -s $file 返回$file的文件大小(bytes)
  • -f $file 如果$file是正常文件的話,返回1的值
  • -T $file 如果$file是文本文件的話,返回1的值
  • -B $file 如果$file是Binary文件的話,返回1的值
  • -M $file 返回$file文件最後一次更改時間到現在的日期數

perl入門知識(2)