因為是比較凌亂的用法規則收集,所以能看懂則看,不能看懂也無所謂。以後也會遇到。
- Perl指令碼第一行使用
#!
。Perl的字尾名一般為".plx"或".pl",執行時使用perl NAME.plx
即可
例如,1.plx內容如下:
#!/usr/bin/perl
print "hello world\n"
執行該指令碼:
shell> perl 1.plx
- 註釋。Perl只支援"#"註釋,所以只支援單行註釋、行內到結尾註釋
# comment
print "hello world\n" # comment
Perl指令碼中,除了最後一行,每行都需要以";"結尾,除非是註釋行
- Perl中不需要對變數進行宣告,可以直接賦值、引用
$var=12;
print $var;
- use指定使用某個版本的perl,如5.10版本。注意,use中是5.010而不是5.10,
use 5.10
會被perl認為是5.100版
use 5.010;
如果指定更細緻的小版本號,如5.10.1版,則:use 5.010001;
。
- 最好都加上
use utf8
語句
use utf8;
- 最好在每個Perl程式中加上
use strict
語句,這在後面寫稍大一點的Perl程式基本上是一種規範
該功能讓Perl編譯器以嚴格的態度對待Perl程式,如果定義了變數卻未使用過,或者引用了未定義過的變數,都會編譯錯誤。
use strict;
- 可以加上warning資訊進行除錯
use warnings;
或者perl -w
,或者在Perl指令碼中:
#!/usr/bin/perl -w
- Perl中可以通過反引號來執行作業系統中的命令
$var=`date +"%F %T"`
print $var
- Perl中呼叫自帶的內建函式時,可以使用括號傳遞引數,也可以省略括號
例如,呼叫print函式:
print("hello world\n");
print "hello world\n";
- Perl中的ENV:Perl可以通過ENV這個hash直接訪問作業系統的環境變數
print $ENV{PATH}; # 輸出作業系統的PATH環境變數
如果Perl想訪問作業系統中某個變數,可以直接在作業系統中設定,然後通過Perl訪問:
$ myvar=2;export myvar;
print $ENV{myvar};
- Perl中token之間如果是不同的命名型別,則中間的空格分隔符號可以省略
主要體現在函式和引數之間的空格。
print"abc","def\n"; -> print "abc","def\n"
print$var; -> print $var
my$var="abc"; -> my $var
print~~length$var -> print length $var
顯然,引數部分的首字元如果是數值、下劃線或字母,則會被當作函式名的一部分進行解析,這是錯誤的省略方式:
print1+3;