k1 0.2 k2 0.9 k3 1 k4 1.2 k5 1.3 k6 2 k7 2.2 k8 2.7 k9 2.76 k10 3.001 k11 3.12 k12 3.2 k14 3.22 k15 3.3 k16 3.34 k17 3.4 k18 3.62 k19 3.8 k20 3.89 #### #!/usr/bin/perl use strict; use warnings; my %netHash; my $capval; my ($capVal_1_Hash, $capVal_2_Hash, $capVal_1_Hash, ....., $capVal_99_Hash, $capVal_1_Hash) ; open(IFH, "<", "./chance.txt"); while() { chomp; my($nx,$ny) = split; $netHash{$nx} = $ny if ($ny > 1); } foreach $val (keys %netHash) { if($netHash{$val} > 1.0) { if($netHash{$val} < 1.4) { my ($x1, $y1) = ($val,$netHash{$val}); $capVal_1_Hash{$x1} = $y1 if defined $y1; } } if($netHash{$val} > 1.4) { if($netHash{$val} < 1.9) { my ($x2, $y2) = ($val,$netHash{$val}); $capVal_2_Hash{$x2} = $y2 if defined $y2; } } ... ... if($netHash{$val} > 99.2) { if($netHash{$val} <99.8) { my ($x99, $y99) = ($val,$netHash{$val}); $capVal_99_Hash{$x99} = $y99 if defined $y99; } } if($netHash{$val} > 100.1) { if($netHash{$val} < 100.9) { my ($x100, $y100) = ($val,$netHash{$val}); $capVal_100_Hash{$x100} = $y100 if defined $y100; } } } printHash(\%capVal_1_Hash); printHash(\%capVal_2_Hash); ... ... printHash(\%capVal_99_Hash); printHash(\%capVal_100_Hash); close IFH; } sub printHash { my $href = shift; my $RandKey = (keys %{$href}) [int(rand(scalar (keys %{$href})))]; print "$RandKey $href->{$RandKey}\n"; }