my $Percent = ; my $per = $Percent/100;#percent as decimal my $pairs = (keys %lineFinal);# pairs of key/value my $counter = 0;# zero counter my $amount_to_print = int($per * $pairs); foreach my $key ( keys %lineFinal) { if ($counter < $amount_to_print) { print $key, ' ', $lineFinal{$key}, "\n"; #print OUTPERC $key, ' ', $lineFinal{$key}, "\n"; print OUTPERC "$key\t $lineFinal{$key}\n"; } else { last; } $counter++; }