初學perl

  以前接觸過perl一段時間,沒用過,現在全忘了。剛又看了下perl,把基本知識總結一下:

1.單數變量用$前綴,數組用@前綴
定義數組:
    @aray = (1, '2', $var);
    $aray[4] = "ds";
   
2.可以數組交換賦值 ($a, $b) = ($b, $a);

3.複數變量包括數組和散列,數組是有序的,散列是無序的

4.散列用%前綴
定義散列:
    %hash = ("mon" => "monday", "sun" => "sunday");
或者%hash = ("mon", "monday", "sun", "sunday");
    $hash{"thu"} = "thusday";
取值:
    $hash{"mon"}
   
5.複雜數據結構;
  散列中的數組:$wife{"you"} = ["wife1", "wife2", "wife3"];
    訪問:$wife{"you"}[0];
  散列中的散列中的數組:$wife{"you"} = {"wife1" => ["child1", "child2"], "wife2" => ["child3", "child4"};
    訪問:$wife{"you"}("wife1"}[0];

6.函數:
  調用用戶自定義函數的時候,前面可以加&也可以不加:$returnValue = &getUser();或者$returnValue = getUser();

7.標準輸入輸出: <STDIN> <STDOUT>
  $var = <stdin> 等待用戶輸入
 
8.操作符:
  +   數字相加
  .   字符串連接
  **  冪運算  2 ** 3爲2的3次冪
  *   乘法
  x   重複  ‘a’x3 則a重複三次

9.任何過程都擁有返回值,所以可以在一個語句中多次改變同一個變量的值
  比如:   ($temp -= 32) *= 5/9;

10.文件測試操作符:
  -e 存在
  -r 可讀
  -w 可寫
  -d 目錄
  -f 文件
  -T 文本文件

11.判斷:
  if(){}elsif(){}else{} 必須有大括號
  unless(){}如果不是這樣則執行括號中的語句

12.循環:
  while(){}爲真則執行
  until(){}爲假則執行
  for(){}for循環
  foreach $v (@array) foreach循環
  last和next 控制跳出循環:(例子)
    Line:foreach $a (@array){
        next Line if $a eq 1;
        last Line if $a == 2; 
    }

13.正則表達式:
  *在缺省狀態下,Perl 量詞都是貪婪的,也就是他們將儘可能多地匹配一個字符串中最大數量的字符
  while ($line = <FILE>) {
      if ($line =~ /http:/) {  #  符號=~ 是模式綁定操作符
         print $line;
      }
   }
   和
   while (<FILE>) {
      print if /http:/;
   }是一樣的效果。
  *最小匹配:/.*?:/   加上問號?就表示是非貪婪匹配,取儘量小的字符串
  /b 單詞邊界
  ^和$匹配行首和行尾

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