perl指针传参
发布时间:2020-12-15 23:42:58 所属栏目:大数据 来源:网络整理
导读:本代码将一个list的指针和一个标量传入perl 子例程中,完成排序后输出。 perl的指针可以直接看做是一个标量,在使用时,表明以什么方式解析此指针即可(list, scalar 还是 hash): #! perl# author : ez# date : 2015/7/2# describe : ...use strict;use w
本代码将一个list的指针和一个标量传入perl 子例程中,完成排序后输出。 perl的指针可以直接看做是一个标量,在使用时,表明以什么方式解析此指针即可(list, scalar 还是 hash): #! perl # author : ez # date : 2015/7/2 # describe : ... use strict; use warnings; sub sort_order ($$) { my ($array_ptr,$desc) = (shift,shift); my @res = undef; if ($desc) { @res = sort {$b <=> $a} @$array_ptr; } else { @res = sort {$a <=> $b} @$array_ptr; } print "@res "; } sub main { sort_order ([0x13,0x18,0x14,0x19,0x20,0x0,0x28,0x15,0x21,0x29,0x32,0x16,0x17,0x1,0x30,0x26,0x24,0x25,0x11,0x33,0x5,0x7,0x31,0x3,0x27,0x2],1); } &main; 当调用sort_order 时,创建了一个匿名的list,用 [] 进行定义,随后又传入一个标量,这样可以看做子例程需要传入两个标量。 之后通过判断$desc 的值确定是进行正序排序还是逆序排序。 此处sort 函数的使用可以 sort? subroutine list {} 定义了一个匿名子例程的指针,用于描述两个数据之间的判断方法,$b,$a 是匿名子例程的局部变量。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |