加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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 是匿名子例程的局部变量。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读