1: 子串截取
$value = substr($string, $offset, $count);
$value = substr($string, $offset);
substr($string, $offset, $count) = $newstring;
substr($string, $offset, $count, $newstring); # 與上一條語句等價
substr($string, $offset) = $newtail;
某些情況下使用unpack函數更方便,雖然unpack是唯讀,但是效率更高,一次你可以取出多個子串來
# 先取5位元組,跳過3位元組,再取2個8位元組,最後取剩下的
# (注意: 只支援ASCII,不支援Unicode)
($leading, $s1, $s2, $trailing) = unpack("A5 x3 A8 A8 A*", $data);
# 按每5位元組分割為數組
@fivers = unpack("A5" x (length($string)/5), $string);
# 分割為單字元數組
@chars = unpack("A1" x length($string), $string);
2. 設定初始值
# 將$b的值賦給$a,如果$b不為真,則將$c的值賦給$a
$a = $b || $c;
# 當$x不為真時,將$y的值賦給$x
$x ||= $y;
當 0, "0", 和 "" 是變數的有效值的時候,可以這樣定義變數:
# 將$b的值賦給$a,如果$b沒有被定義,則將$c的值賦給$a
$a = defined($b) ? $b : $c;
# 將來perl會支援“新的”或定義操作符
$a = $b // $c;
3.不用臨時變數交換值
($VAR1, $VAR2) = ($VAR2, $VAR1);
實際上不止可以這樣交換2個變數,可以直接交換多個變數,非常方便吧
4.字元與值的轉換
$num = ord($char);
$char = chr($num);
To Be Continue.......