PERL 語言中的q,qw,qr,qx,qq__perl

來源:互聯網
上載者:User
在perl語言中,有兩個特殊而常用的符號qq qw,分別解釋如下:
qq{foobar}的意思為意思為雙引號字串,可插入變數
相當於 "foobar"
qw{foo bar}的意思為用空格分解字串,得到列表,相當於如下語句
split(' ','foo bar') 得到的結果是'foo','bar'


字串比較等於用 eq


q運算子對'號轉義的方式
$someword = 'i \'ve some money';
可以等價於:
$someword = q~i 've some money~;


qq運算子對"號轉義的方式
$someword = "i say \"ok!\".";
可以等價於:
$someword = qq~i say "ok!".~;


qw代表用空格來分隔元素,得到列表
@list = ("perl","Regular","network","web");
可以等價於:
@list = qw(perl Regular network web);


qr代表建立正則
$myword = "catcat";
$replaceword = qr(catcat);
$finalword = "ok" if ($myword =~ $replaceword);


引號執行運算子(quoted execution operator),qx//
qx/uname -p -r/


q 和 qq 運算子的特點:
※ q 和 qq 必須是一個標識符,而不是標識符的部分。例如:
q (abc)      用 () 作為分界符
q(abc)       用 () 作為分界符
q xabcx      用 x 作為分界符
都是合法的,而
qxabcx 就會被當作是一個標識符來處理,有誰會想到 qxabcx 居然是一個 q 運算式呢。


※ q 和 qq 後面的空格並不會影響文法,但是任何非Null 字元(不是空格、不是 TAB 字元、
   不是分行符號)則會被當作界限符來使用。


※ 如果 q 和 qq 使用一些特殊的符號的時候,則必須配對。比如:< 只能和 >; 在一起
   用來當作界限符,而不能只用兩個 < 作為界限符。而 | 則只能和它自己作為一對界
   限符。這些特殊的符號有:()、{}、[]、<>;


$myword = "catcat";
$replaceword = qr(catcat);
$finalword = "ok" if ($myword =~ $replaceword);


@list = ("perl","Regular","network","web");
可以等價於:
@list = qw(perl Regular network web);


$someword = 'i \'v some money';
可以等價於:
$someword = q~i 'v some money~;
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.