perl 函數傳遞多個參數 數組 標量 字典,

 

perl語言傳遞參數

傳遞標量

當我們傳遞的參數,標量的時候,適用於 標量讀取參數

例子:

Average 函數傳入3個參數,

Average 接收後可用@_[0] 獲取位置參數

也可以直接遍歷@_,當有多個標量時傳遞過來是以數組形式接受。

#!/usr/bin/perl
# 定義求平均值函數
sub Average{
   # 獲取所有傳入的參數
   $n = scalar(@_);
   $sum = 0;
   foreach $item (@_){
      $sum += $item;
   }
   $average = $sum / $n;
   print '傳入的參數爲 : ',"@_\n";           # 打印整個數組
   print "第一個參數值爲 : $_[0]\n";         # 打印第一個參數
   print "傳入參數的平均值爲 : $average\n";  # 打印平均值
}
# 調用函數
Average(10, 20, 30);


#結果
傳入的參數爲 : 10 20 30
第一個參數值爲 : 10
傳入參數的平均值爲 : 20

傳遞數組 

傳遞一個數組

例:

#!/usr/bin/perl
# 定義函數
sub PrintList{
   my @list = @_;
   print "列表爲 : @list\n";
}

@b = (1, 2, 3, 4);
# 列表參數
PrintList(@b);

#結果

列表爲 : 10 1 2 3 4

傳遞多個數組

這裏所利用的是引用的概念

引用就是指針,Perl 引用是一個標量類型可以指向變量、數組、哈希表(也叫關聯數組)甚至子程序,可以應用在程序的任何地方。

 

#!/usr/bin/perl
# 定義函數
sub PrintList{
   my ($list1,$lsit2) = @_;
   foreach $key ( @$list1 ){
      print "$key \n";
   }
   print "列表爲 : @$list1\n";
   print "列表爲 : @$list2\n";
   print ""
}

@b = (1, 2, 3, 4);
@a = ("a","b","c","d")
# 列表參數
PrintList(\@b,\@a);

#結果
1
2
3
4
列表爲 : 1 2 3 4
列表爲 : a b c d

取值的時候你可能注意到了 他是倆個符號並列

數組 : @$

標量:$$

字典 :%$

常用的就這幾個,舉個混合的例子

#!/usr/bin/perl
# 定義函數
sub PrintList{
   my ($list1,$lsit2,$list3) = @_;
   foreach $key ( @$list1 ){
      print "$key \n";
   }
   print "$$list2\n";
   
   foreach my $key ( keys %$hash ){
      my $value = $hash{$key};
      print "$key : $value\n";
   }
}

@b = (1, 2, 3, 4);
$c = "what a fuck!"
%a = ('name' => 'hello', 'age' => 3);
# 列表參數
PrintList(\@b,\$c,\%a);

#結果
1
2
3
4
what a fuck!
age : 3
name : hello

 

發佈了37 篇原創文章 · 獲贊 25 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章