Perl引用的复习
好久不用Perl,今天被几个引用写法搞得有些晕乎乎的。找到手册,再次复习整理一次。
1.标量引用
my $var = "www.jikufurito.com"; my $var_ref = \$var; # 定义引用 print $$var_ref; # 解除引用,test
2. 数组引用
my @array = (1,2,3); my $array_ref = \@array; #定义数组引用 print $$array_ref[0]; print $array_ref->[0]; #同上句,打印出array第一个元素
3. Hash引用
my %hh = ('www.jikufurito.com' => 1, 'www.philliphuang.com' => 2); my $hash_ref = \%hh; #定义散列引用 print $$hash_ref{'www.jikufurito.com'}; print $hash_ref->{www.jikufurito.com}; #同上句,打印出key为www.jikufurito.com对应的value
4. 子例程引用
sub test{ my $m = @_; print "http://www.jikufurito.com is the $m\n"; } my $test_ref = \&test; #定义引用 $test_ref->("best"); #同&test("best")
5. 判断引用类型ref()
如果是引用,则返回引用类型SCALAR,ARRAY,HASH和CODE;否则返回null。
print ref($array_ref);