1. 匹配了几次
$count=0;
while($string=~/"miao"/g){
$count+=1;
}
2. 计算哈希有多少个关键字
my $k=scalar (keys %hash);
3. 哈希按值的大小排列
foreach my $key (sort { $hash{$b} <=> $hash{$a} } (keys %hash)){
print OU "$keyn";
}
或者
my @keys = sort { $h{$b} <=> $h{$a} } keys %h; #sort the hash table 一样的
4. 提示用户输入
print "please inputn";
chop($value=<STDIN>);#chop the lastN
5.检验一个数组是否为空
if (@array){
....
}
6. 把所有匹配的都找出来
my @tags=($lineIn=~/miao/g);
7.排序sort用法
1. 以数字顺序sort @array = (8, 2, 32, 1, 4, 16); print join('' '', sort { $a <=>; $b } @array), "n"; 打印结果是: 1 2 4 8 16 32 与之一样的是: sub numerically { $a <=>; $b }; print join('' '', sort numerically @array), "n"; 这个很容易理解哦,它只是按自然数的顺序进行sort,偶就不细讲了。 2.1 以ASCII顺序(非字典顺序)进行sort @languages = qw(fortran lisp c c++ Perl python java); print join('' '', sort @languages), "n"; 打印结果: Perl c c++ fortran java lisp python 这等同于: print join('' '', sort { $a cmp $b } @languages), "n"; 按ASCII的顺序进行排序,也没什么说的哦。 注意, 如果对数字按ASCII顺序进行sort的话,结果可能与你想的不同: print join('' '', sort 1 .. 11), "n"; 1 10 11 2 3 4 5 6 7 8 9