Study 《Perl Cookbook》

來源:互聯網
上載者:User

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.......

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.