- 论坛徽章:
- 0
|
本帖最后由 zwin506 于 2014-10-12 00:36 编辑
#!/usr/bin/perl
use DB_File;
unlink "./data.db";
$DB_BTREE->{'flags'}=R_DUP;
my $x=tie %fhash,'DB_File',"./data.db",O_RDWR|O_CREAT,0666,$DB_BTREE;
open FH,"<./file1";
while(my $line=<FH>){
unless($line=~m/^[\n\r]/){ #
$line=~s/\s+//g;
chomp $line;
my @t_arr=split/\|/,$line;
$fhash{$t_arr[4]}=$line;
}
}
my %uniq_num;#将索引值不重复的存储于散列key中
foreach my $key(keys %fhash){
unless(exists $uniq_num{$key}){
$uniq_num{$key}=1;
}
}
foreach my $nkey(sort {$b<=>$a} keys %uniq_num){
my @list=$x->get_dup($nkey);
foreach (@list){
print $_."\n";
}
last;
}
close FH;
运行结果:
5|-5.29|185|-4.27|38|######################################
11|-4.80|87|-4.04|38|######################################
|
|