cowboyrocks has asked for the wisdom of the Perl Monks concerning the following question:
5893 5985 + LOC645399 645399 7223 7231 - LOC100131533 100131533 7630 9882 - LOC100131533 100131533 10142 11428 + LOC100132836 100132836 12197 13705 - LOC100132070 100132070 14248 15806 - LOC100132865 100132865 16830 17405 - LOC100132865 100132865 18735 19817 + LOC645399 645399 20802 23113 - LOC100132865 100132865
As per above example my array contains values :- 13597,21302, 29007 which is by 3 division of the maximum value 23113 which means a bin size of 3 with size 7704 per bin and then I am trying where my array values fit as per given ranges in my input data. I expect my output to come something like this in bin range range specified by my first for loop:-My code is:- $fn = $ARGV[0]; open(FH, "$fn") || die("Cannot open: $!"); for ($i = 5893; $i <=23113; $i++) { $bin = $i += 7704; push @array, $bin ; } while(<FH>) { if($_ =~ /\A(\S+)\s+(\S+)/) { foreach $line(@array){ print "$line\n"; print "$1 $2\n" if $line >= $1 && $line <= $2; } } }
My foreach loop has got a problem. It prints the value multiple times and also my 2nd if condition is not taking the values. Thanks in advance12197 13705 20802 23113
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Problem in Foreach loop
by Ish (Acolyte) on Apr 02, 2009 at 05:16 UTC | |
by cowboyrocks (Novice) on Apr 02, 2009 at 06:31 UTC | |
|
Re: Problem in Foreach loop
by toolic (Bishop) on Apr 02, 2009 at 02:23 UTC | |
by cowboyrocks (Novice) on Apr 02, 2009 at 02:41 UTC | |
by cowboyrocks (Novice) on Apr 02, 2009 at 02:46 UTC | |
by Ish (Acolyte) on Apr 02, 2009 at 02:57 UTC | |
by cowboyrocks (Novice) on Apr 02, 2009 at 03:11 UTC | |
|
Re: Problem in Foreach loop
by Ish (Acolyte) on Apr 02, 2009 at 02:13 UTC | |
by cowboyrocks (Novice) on Apr 02, 2009 at 02:21 UTC | |
|
Re: Problem in Foreach loop
by Ish (Acolyte) on Apr 02, 2009 at 03:42 UTC | |
by cowboyrocks (Novice) on Apr 02, 2009 at 03:53 UTC |