czpx.net
当前位置:首页 >> 关于pErl数组抽取的问题 >>

关于pErl数组抽取的问题

sub randomElem { my ($want, @array) = @_ ; my (%seen, @ret); while ( @ret != $want ) { my $num = abs(int(rand($#array))); if ( ! $seen{$num} ) { ++$seen{$num}; push @ret, $array[$num]; } } return @ret; }my @array = ( 'A'..'Z' )...

数组的下标从0开始,$#array是一个特殊的变量,它的值就是数组array的最后的元素的下标,假设array有3个值,最后的下标就是2(依次是0、1、2),假设你的数组名字为@HHH,最后的索引就是$#HHH. 负值索引就是从后面依次取数组的索引,依次是(-1,-...

具体函数我不清楚是否可以直接实现,但是可以通过变相实现。 #!/usr/bin/perl -w use strict; my $string = "China"; my @Array; for(my $i = 0; $i < length($string); $i++){ $Array[$i] = substr($string,$i,1); } for(my $i = 0; $i < @Arra...

判断数值是否是空数组可以采取if(@array),如果为假就不是空数组。也可以用if(!defined $array[0])判断,即如果数组@array中第一个元素$array[0]没有定义,那么这就是个空数组。 如果要将一个数组@array元素清空,可以直接把空数组()赋值过去即...

可能下面是你想要的吧@m = ("a", 1, "b", 2, "c", 3);%m = @m;print $m{"b"};

可以看个例子$str ="abc12abc34ccccabc56";@m = $str =~/(abc\d+)/g;print "@m";

#上面的写法可以@array=(1..50);print @array[30..50];#或者也可以这样:@array=(1..50);for $i (30..50) {print $array[$i];}

可以试一下这几种方式,每种方式各有优劣: #!/bin/perl -w use strict; my @arr = ( "aaa","bbb","ccc","ddd","eee","fff"); # 这个是数组 my $vv = "ddd"; # 这个是要查找的变量 # 方法1,:使用类似c语言的风格,遍历这个数组,查找变量是否匹...

my $a= "a,b,c";my @d= split ',', $a; 补充:Perl 最初的设计者为拉里·沃尔(Larry Wall),他于1987年12月18日发表。Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及...

不是很难的。 use 5.010; while(){ given ($_) { when (/Average/){/Average:\s*(\d+)\s*ms/;push @array,$1} when (/:/){/:\s*(\d.*$)/;push @array,$1} } } print "@array\n"; ===================== 4.63096770016667 3.0622202247192263 7.3...

网站首页 | 网站地图
All rights reserved Powered by www.czpx.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com