yp1234 发表于 2018-8-31 12:43:06

PERL 常用代码(持续增加)

  
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=);#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




页: [1]
查看完整版本: PERL 常用代码(持续增加)