最近写的一个perl程序,通过关键词匹配统计其出现的频率,让人领略到perl正则表达式的强大,程序如下:
#!/usr/bin/perl use strict; my (%hash,%hash1,1)">@array); while(<>){ s/\r\n//; my $line; if(/-(.+?)【(.+?)】【(.+?)】(定单积压)/){ $line=$1.'.*'.$2.4push @array,1)">$_ unless exists $hash{}; $line}+=1;} elsif(/-(.+?)【(.+?)】(.+?)【(.+?)】/; }} while(my($key,1)">$value)=each %hash$key =~ s/(\()(.+)(\))/\\$1$2\\$3/foreach $index(){ if($index =~ /$key/$hash1{$index}=$valuelast; } }} $key(sort {$b}<=>$a}} keys %hash1){ print "$key,$hash1{$key}\n; }