sub 子例程名($$)指定兩個標量的參數數組
(@$)指定一個數組ui
按引用調用spa
符號引用 typeglob.net
相似於UNIX文件系統中的軟連接scala
星號(*)適用於任意類型的變量,包括標量,數組,散列,文件句柄和子例程等指針
選擇性別名和反斜槓運算符get
*array = \@array ;hash
*scalary = \$scalary;it
*hash = \%hash;class
*func = \&subroutine;
硬引用
一般又稱爲指針
是含有其餘變量地址的標量型變量,經過反斜槓運算符來建立指針。打印指針能夠看見十六進制的地址
下面是我寫的一個小例子,是書上的習題
use strict;
my %hotels = ("Pillowmint" => "5",
"Buxton Suites" => "5",
"The Middletonian" => "3" ,
"Notchbelow" => "4" ,
"Rancho El Cheapo" => "1",
"Pile Inn" => "2");
printstar(\%hotels);
sub printstar {
my $ref = shift;
my @keys = sort {$ref->{$b} <=> $ref->{$a}} keys %$ref; foreach (@keys) { if($ref->{$_} eq "5") { print "$_|*****\n"; } elsif($ref->{$_} eq "4") { print "$_|****\n"; } elsif ($ref->{$_} eq "3") { print "$_|***\n"; } elsif ($ref->{$_} eq "2") { print "$_|**\n"; } else { print "$_|*\n"; } } }