perl入門知識(2)
交互式編程
你可以在命令行中使用 -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("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.結束標識必須頂格獨自占一行(即必須從行首開始,前後不能銜接任何空白和字符)。
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)