perl裏q,qq,qw等的用法

 從網上看到的一篇文章,覺得不錯,轉過來了。

  1. 在perl語言中,幾個特殊而常用的符號:   
  2. q  是單引號  
  3. qq 是雙引號  
  4. qw 單詞列表引號  
  5. qr 正則表達式引號  
  6. qx 反引號  
  7. 其中qq,qw又較爲常用。  
  8. qq{foobar}的意思爲意思爲雙引號字符串,可內插變量,相當於 "foobar"  
  9. qw{foo bar}的意思爲用空格分解字符串,得到列表,相當於如下語句  
  10. split(' ','foo bar') 得到的結果是'foo','bar'  
  11.   
  12. q 和 qq 運算符的特點:  
  13. q 和 qq 必須是一個標識符,而不是標識符的部分。例如:  
  14. q (abc)      用 () 作爲分界符  
  15. q(abc)       用 () 作爲分界符  
  16. q xabcx      用 x 作爲分界符  
  17. 都是合法的,  
  18. 而qxabcx 就會被當作是一個標識符來處理,有誰會想到 qxabcx 居然是一個 q 運算式呢?  
  19.   
  20. q 和 qq 後面的空格並不會影響語法,但是任何非空字符(不是空格、不是 TAB 字符、不是換行符)則會被當作界限符來使用。  
  21. 如果 q 和 qq 使用一些特殊的符號的時候,  
  22. 則必須配對。比如:< 只能和 >; 在一起用來當作界限符,而不能只用兩個 < 作爲

q{}的妙用

在使用XPath獲取xml node屬性的時候,可以用之,比如想獲取屬性爲zdd的node。xpath寫法如下:


/html/body/dl[@class='commitlist']

因爲這裏面有@,所以不能用雙引號,又由於有單引號,如果使用單引號則需要轉義,像下面這樣:

my $path = '/html/body/dl[@class=\'commitlist\']';

看起來比較亂,用q{}解決就好多了。

my $path = q{/html/body/dl[@class='commitlist']}

==

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章