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,-...

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

这个是没办法已经匹配存入新数组之后去获得的,不过可以尝试其他方式,代码修改为以下吧: for(my $i = 0; $i < @all_file; $i++){ if($all_file[$i]=~/$str/g){ print "Matched in line:$_,Index is:$i\n" } } 这样可以变相实现你的要求

具体函数我不清楚是否可以直接实现,但是可以通过变相实现。 #!/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...

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

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

少侠,你的数组定义有问题,应该是y @a=("a","b","c");和@b=("a","d","e","f"); 其他的好像没什么问题 望采纳 具体代码如下: use strict; my @a=("a","b","c"); my @b=("a","d","e","f"); print "@a\n"; foreach my $a(@a) { foreach my $...

你的问题交代的不是很清楚, 是否数组每个元素都是类似"aaaa,vbbbbb"这样的可以以逗号分隔的两部分? 按照这么理解的话,你可以参考下面的代码, 测试过了. use strict;my @array = ("aaa,vbbbb","cccc,ddddd","eeeee,xxxxx");my %hash_output;#数组...

合并数组数组的话: @e= (@a,@c); 结果是:@e= (aa ,bb,cc,ee,ff gg) 如果合并后,个数不变的话按下面做: for (my $i=0;$i>@a;$i++){ $e[$i]=$a[$i].$c[$i]; } 结果是:@e= (aaee,bbff,ccgg) 希望能帮到你埃

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