如何通过关键词匹配统计其出现的频率

来源:互联网 发布:适用于mac的远程桌面 编辑:程序博客网 时间:2024/06/08 06:50
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让人领略到perl正则表达式的强大,程序如下:

#!/usr/bin/perluse strict;my (%hash,%hash1,@array);while(<>){     s/\r\n//;      my $line;     if(/-(.+?)【(.+?)】【(.+?)】(定单积压)/){     $line=$1.'.*'.$2.'.*'.$4;     push @array,$_ unless exists $hash{$line};     $hash{$line}+=1;}     elsif(/-(.+?)【(.+?)】(.+?)【(.+?)】/){     $line=$1.'.*'.$2.'.*'.$4;     push @array,$_ unless exists $hash{$line};     $hash{$line}+=1;}}while(my($key,$value)=each %hash){     $key =~ s/(\()(.+)(\))/\\$1$2\\$3/;     foreach my $index(@array){     if($index =~ /$key/){     $hash1{$index}=$value;     #last;     }}}foreach my $key(sort {$hash1{$b}<=>$hash1{$a}} keys %hash1){       print "$key,$hash1{$key}\n";}

 

0 0
原创粉丝点击