a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Perl > 正文

Perl中的特殊符號介紹

2020-06-04 20:33:12
字體:
來源:轉載
供稿:網友

$_  

俗稱perl的老地方,當你的程序中未告知使用哪個參數或者變量時,perl就會自動使用$_中的值,比如

for(1..10){  print ;}

這里print沒有指定參數,所以它就會使用$_,那$_里面是什么呢?每次循環$_的值都會變化,所以$_實際上就是1 .. 10這10個值,所以上面的代碼打印的結果就是12345678910

$!

當且僅當某個函數調用失敗時才會設置該變量,所以經常這樣使用這個變量

open FILE,"<d:/code/zdd.txt" or die $! ;

$/

這是perl中的行分隔符,默認是換行符,可以改變這個變量以便一次讀入整個文件,如下

sub test{  open FILE,"<d:/code/zdd.txt" or die $! ;  my$olds= $/ ;  local $/=undef ;  my$slurp=<FILE> ;  print$slurp,"/n" ;  $/=$olds ;}

$`

正則表達式匹配變量,代表匹配位置之前的內容

$&  

正則表達式匹配變量,代表匹配的內容

$' 

正則表達式匹配變量,代表匹配位置之后的內容

來看一個例子,解析xml文件,有如下xml文件,我想獲得Code節點的值

<?xml version='1.0' encoding='UTF-8'?>
<Code>200</Code>
用下面的perl代碼來解析

my$str="<Code>200</Code>" ;if($str=~/(?<=<Code>)(/d+)(?=<//Code>)/){  print"string before matched: $`","/n" ;  print"matched string: $&","/n" ;  print"string after matched: $'","/n" ;}

運行結果是

string before matched: <Code>
matched string: 200
string after matched: </Code>

其中$`對應<Code>,$&對應200,$'對應</Code>

$|

控制對當前選擇的輸出文件句柄的緩沖,例子待添加。

@_

傳給子程序的參數列表,通常一個子程序是這樣獲得傳給它的參數的。

sub add {  my ($num1, $num2) = @_;  return $num1 + $num2;}

如果子程序只有一個參數,也可以用shift來獲取,此時,shift相當于shift @_

sub square {  my $num = shift ; # same as my $num = shift @_  return $num * $num;}

perl常見符號

=> 鍵值對,左鍵右值

-> 引用,相當于java中的 【對象.方法名】中的點號

:: 表示調用類的一個方法

% 散列的標志,定義一個鍵值對類型的

@ 數組的標志

$ 標量的標志

=~ 匹配的標志

!~ 不匹配的標志

$! 根據上下文返回錯誤號或者錯誤串

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一区二区三区四区在线 | 午夜鞭打vk视频 | 男人天堂999 | 国产精品久久久久久吹潮 | 日韩伦理一区二区 | 一区二区三区精品视频 | 一本大道久久a久久精二百 羞羞视频在线观免费观看 国产第一区在线观看 | 最新亚洲黄色网址 | 久久精品网 | 国产精品视频看看 | 欧美综合国产 | 91天堂在线观看 | 成人精品免费视频 | 欧美日本一区二区三区 | 国产精品精品视频一区二区三区 | 黄色免费观看网站 | 精品国产精品国产偷麻豆 | 麻豆毛片 | 久久r免费视频 | 欧美日韩精品一区二区在线观看 | 午夜一级 | 操操网| 91精品国产综合久久久蜜臀粉嫩 | 色婷婷综合久色aⅴ | 欧美极品一区二区 | 一区二区三区日韩 | 成人妇女免费播放久久久 | 日韩在线视频观看 | 成人天堂资源www在线 | 欧美1区2区3区 | 国产美女自拍视频 | 欧美一区二区视频在线 | 欧美性影院| 天天插天天操天天干 | 国产成人av免费 | 免费看黄网址 | 欧美成人在线网站 | 亚洲一级性 | 国产精品久久久久久一区二区三区 | 性做久久久久久久免费看 | 国产一区二区三区视频观看 |