perl知識點

來源:互聯網
上載者:User

最近工作中一直在用perl寫程式。 儘管perl不是我學習方向,但還是對工作中遇到的一些知識點做下總結,以備後用。

1。定義一個雜湊(散列或關聯陣列)
%FOR=(
 "aaa"=>"001",
 "bbb"=>"002",
 "ccc"=>"003",
 "ddd"=>"004",
);

2。取關聯陣列裡的單個資料:$FOR{"aaa"},或用簡單變數:$FOR{$tmp_par}.

定義一個二維關聯陣列
%FOR1=(
 "aaa"=>"001",
 "bbb"=>"002",
 "ccc"=>"003",
 "ddd"=>"004",
);
%FOR2=(
 "xxx"=>"how",
 "yyy"=>"are",
 "zzz"=>"you",
);

%TO_FOR=(
 "0"=>/%FOR1,
 "1"=>/%FOR2,
);

/表示用來取%FOR1和%FOR2的地址。
這樣就可以通過$TO_FOR{"0"}{"aaa"}得到001.

3。在perl裡遞迴調用子程式,該子程式一定要有停止調用本身的代碼,如return語句。另外,除了不被子程式改變的變數外,所有的變數必須的局部的,即用my聲明.

4。在用split()以?,.,+,*等字元分割時,需要加上轉義/,如:split('/?',$some_string);

5。將分割的自串放到數組裡:my @temp=split('/',$tmp_s2);
 接著可以用@temp得到數組大小,如:my $size = @temp;$size即為數組temp的大小。
 
6。對數組迴圈:
 foreach my $u (@arr_tmp)
 {
  ...
 }

7。判斷一個字串是否匹配一個模式,可用$u=~/tre|world|mp3/
 如:my $pattern="tre|world|mp3"
  if($u=~/$pattern/)
  {
   #匹配
  }

相關文章

聯繫我們

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