rnaeye has asked for the wisdom of the Perl Monks concerning the following question:
Hi! Monks,
Can I please ask for your wisdom? I want to print the hash keys in numerical order, but my short script sorts keys in ASCII order. I was wondering if you could advice me on this. A second question is that I am planning to run this script on a file that contain 10-15 million lines. Do you think this is the best way of doing it. I am just trying to calculate the coverage on each base position. Thank you for your help!
use warnings; use strict; use 5.010; my %base_positon; while(<DATA>){ my ($chr, $start, $end)= split; $base_positon{$_}++ for ($start..$end); } # while( my($key, $value) = each %base_positon){ # say $key,"\t",$value; # } foreach my $key (sort(keys %base_positon) ){ say $key,"\t", $base_positon{"$key"}; } __DATA__ chrM 0 49 M01193:66:000000000-A386C:1:1112:20711:7517 0 + + chrM 0 49 M01193:66:000000000-A386C:1:1112:12448:7530 0 + + chrM 0 46 M01193:66:000000000-A386C:1:2108:26167:23502 0 + + chrM 0 46 M01193:66:000000000-A386C:1:1101:17077:1444 0 + - chrM 0 50 M01193:66:000000000-A386C:1:1101:17602:1741 42 + + chrM 0 46 M01193:66:000000000-A386C:1:1101:13807:1866 0 + + chrM 0 46 M01193:66:000000000-A386C:1:1101:16360:2204 0 + - chrM 0 46 M01193:66:000000000-A386C:1:1101:13075:2236 0 + - chrM 0 46 M01193:66:000000000-A386C:1:1101:15485:2329 0 + - chrM 0 50 M01193:66:000000000-A386C:1:1101:13054:2607 42 + -
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: How to sort hash keys numerically?
by BrowserUk (Patriarch) on Mar 20, 2013 at 16:40 UTC | |
|
Re: How to sort hash keys numerically?
by davido (Cardinal) on Mar 20, 2013 at 16:25 UTC | |
|
Re: How to sort hash keys numerically?
by rnaeye (Friar) on Mar 20, 2013 at 17:11 UTC |