Perl引用的复习
好久不用Perl,今天被几个引用写法搞得有些晕乎乎的。找到手册,再次复习整理一次。
1.标量引用
1 2 3 | my $var = "www.jikufurito.com" ; my $var_ref = \ $var ; # 定义引用 print $ $var_ref ; # 解除引用,test |
2. 数组引用
1 2 3 4 | my @array = (1,2,3); my $array_ref = \ @array ; #定义数组引用 print $ $array_ref [0]; print $array_ref ->[0]; #同上句,打印出array第一个元素 |
3. Hash引用
1 2 3 4 5 | 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. 子例程引用
1 2 3 4 5 6 | 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。
1 | print ref ( $array_ref ); |