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

perl 二维数组的用法实例

发布时间:2020-12-16 00:07:58 所属栏目:大数据 来源:网络整理
导读:???????????????????? ??????由于Perl的二维数组比较难理解,故下面将使用实例来说明二维数组在Perl 中是如何应用的。 ? ? #! /usr/bin/perl -w use warnings; use strict; ##二维数组的建立,访问,参数传递 my @tmp=GetArrayData(); ##数组作为参数传递给

??????????????????????????由于Perl的二维数组比较难理解,故下面将使用实例来说明二维数组在Perl 中是如何应用的。

?

?

#! /usr/bin/perl -w
use warnings;
use strict;

##二维数组的建立,访问,参数传递
my @tmp=&GetArrayData();

##数组作为参数传递给函数
foreach my $rslt(@tmp)
{
? ##模拟把数组的数据付给列表
? my ($data1,$data2,$data3)=@{$rslt};
? print " list for : $data1,$data3";
? print "n";
? &printArry(@{$rslt});
}

print "direct access array values:".$tmp[0][1];
print "n";

print "direct access array values:".$tmp[0]->[1];

print "n";

### 添加新列到已经存在的行
push @{$tmp[0]},1,1;

?

foreach my $rslt(@tmp)
{
? &printArry(@{$rslt});
}

?

####数组的排序,按多列排序:

### 排序:
my @tmp_a=(sort {$a->[0] <=> $b->[0] || $a->[3] cmp $b->[3]} @tmp);

###意思是先按第一个数字的升序来排列,如果相等则按第三个字母升序来排列。


#######################################################################
sub GetArrayData(){
## 函数返回二维数组
my @rslt=();
my @rows=();
my $i=0;
@rows=(1,4,7,'b');
$rslt[$i]=[ @rows];
$i++;
@rows=(2,5,8,'a');
$rslt[$i]=[ @rows];

return @rslt;
}

sub printArry()
{
##模拟二维数组输出
my ($var)=@_;
my ($data1,$data3,$data4)=@{$var};
print "list by sub: $data1,$data4";
print "n";
}

?

以上代码已经验证过可行性。

(编辑:李大同)

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

    推荐文章
      热点阅读