Perl語言編程>>學習筆記

來源:互聯網
上載者:User

標籤:

1. 使用反引號可以調用外部程式並返回程式的輸出, 如  $cwd = `pwd`; 

2. Perl 中的變數類型之間的區別主要是單數和複數; 單數變數稱為標量 $scalar , 複數變數稱為數組 @array .   Perl中還有 Hash, Handle, typeglob 和引用 等一些變數類型.  Perl中的標量可以使用 = 賦值, 可以指向其他變數或對象等等複雜資料結構的引用.  

3.Perl中的引用

$ary = \@myarray; # 引用一個命名數組$hsh = \%myhash; # 引用一個命名雜湊$sub = \&mysub; # 引用命名子程$ary = [1,2,3,4,5];  # 引用匿名數組$hsh = {"Roger"=>"A", "r"=>4};  #引用匿名雜湊$sub = sub{print "Hello\n";}  #引用匿名子程$fido = new Camel "Amelia";  # 引用一個對象

4. Perl中的複數變數

  => 需要在賦值等式右邊提供列表環境, 當需要用編號尋找時用數組,  如果需要用名稱尋找,則用散列

  => 可以通過列表賦值簡單實現兩個標量的值交換:  ($var1,$var2)=($var2,$var1); 

  => 因為散列是一種特殊的數組, 可以通過{}來擷取單個散列元素 , 如: $roger{‘name‘} , 注意因為是處理標量, 所以前面用 $,而不是 % ,後者表示整個散列表.如果用了 %roger{‘name‘},那麼得到的是索引值一起.  另外胖箭頭左邊的字串不需要加引號(自動加), 而右邊不行(考慮要支援複雜資料結構), 所以不加可能會和保留字衝突.

  => 散列的索引值之間可以用逗號隔開, 因此可能會在自動構造時用上, 如:

$longday = {"Sun","Sunday","Mon","Monday"};

5. Perl中的複雜資料結構

  在Perl中, 逗號用於分隔,小括弧用於分組, 但是並不能將一個列錶轉換成為標量; 如果需要將一個列錶轉換成一個標量要用 [ ] , 表示是一個匿名數組; 如果要將一個雜湊轉換成一個標量, 需要使用 {} 表明是一個匿名散列. 所以可以定義一個雜湊

$wife{"Jacob"}=["A","B","C","D"];# print "$wife{\"Jacob\"}[0]\n";print $wife{"Jacob"}[0]."\n";  ## A$kids_of_wife{"Jacob"} = {    "A" => ["A1","A2"],    "B" => ["B1","B2"],    "C" => ["C1","C2"],    "D" => ["D1","D2"]  };# print "$kids_of_wife{\"Jacob\"}{\"A\"}[0]\n";print $kids_of_wife{"Jacob"}{"A"}[0]."\n";   ## A1

6. Perl中的foreach迴圈中迴圈變數直接引用數組元素本身, 修改迴圈變數就是修改原始數組,  和java不同 , 可以在foreach 中修改原始數組.

7.使用行輸入和$_可以是程式簡潔並增加可擴充性, 如匹配一個檔案中的 連結:

while(<FILE>){    print if /http:/;    print if /ftp:/;    print if /mailto:/;    ...}

 

Perl語言編程>>學習筆記

相關文章

聯繫我們

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