Perl处理数组的一些技巧
发布时间:2020-12-16 00:13:47 所属栏目:大数据 来源:网络整理
导读:(1)数组求和:不用写循环,直接调用 sum 函数 use List::Util qw/sum/;my @a=qw(1 2 3 4 5 6 7 8);my $sum= sum @a ; # 得到 36 (2)求数组的最大、最小值:不需要逐个比较,直接调用 max 和 min 函数 use List::Util qw/max min/;my @a=qw(1 2 3 4 5 6 7
(1)数组求和:不用写循环,直接调用 sum 函数 use List::Util qw/sum/; my @a=qw(1 2 3 4 5 6 7 8); my $sum= sum @a ; # 得到 36 (2)求数组的最大、最小值:不需要逐个比较,直接调用 max 和 min 函数 use List::Util qw/max min/; my @a=qw(1 2 3 4 5 6 7 8); my $max= max @a ; # 得到 8 my $min= min @a ; # 得到 1 (3)输出数组指定位置元素 perl -e'@a=qw(1 2 3 4 5 6 7 8);print join("t",@a[1,2,4,6])' #得到 2 3 5 7 但是如果用标量来指定位置,这样的方法就不行了 perl -e '@a=qw(1 2 3 4 5 6 7 8);$b="1,6";print join("t",@a[$b])' #得到 2需要借助eval函数 perl -e '@a=qw(1 2 3 4 5 6 7 8);$b="1,@a[eval($b)])' #得到 2 3 5 7也可以通过数组指定位置 perl -e'@a=qw(1 2 3 4 5 6 7 8);@b=qw(1 2 4 6);print join("t",@a[@b])' #得到 2 3 5 7打印文件指定列,可以直接在命令行里借助上述方法实现 perl -lane'print join("t",@F[1,3,4])' #打印第 2 3 4 5列 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |