sub 子例程名($$)指定两个标量的参数
(@$)指定一个数组
按引用调用
符号引用 typeglob
类似于UNIX文件系统中的软链接
星号(*)适用于任意类型的变量,包括标量,数组,散列,文件句柄和子例程等
选择性别名和反斜杠运算符
*array = \ ;
*scalary = \$scalary;
*hash = \%hash;
*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 = 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"; } } }