in reply to filling in the zeros...please help

david_lyon:

Don't try to do it all in one pass, it'll just get too confusing. When you're just starting out, simpler is better. So use one pass to load the array, one pass to patch up the array, and then one to print the array. That way, you can more easily debug each pass. When you get more used to perl, you can start merging passes when you want.

# Read the data table my @table; while (<>) { chomp; my ($start, $stop, $id, $id2) = split /\t/, $_; push @table, [ $start, $stop, $id1, $id2 ]; } # Patch up the data for (my $i=1; $i < $#table; ++$i) { # check surrounding items and patch the data, as needed . . . } # Print the new table for my $ar (@table) { my ($start, $stop, $id, $id2) = @$ar; print ..... }

...roboticus

When your only tool is a hammer, all problems look like your thumb.

Replies are listed 'Best First'.
Re^2: filling in the zeros...please help
by david_lyon (Sexton) on May 15, 2012 at 13:37 UTC

    Thank you roboticus that seems like what I am looking for. Can you give me an example of how to patch up the data, thats where I have been stuck on for some time. Thanks for your help

    # Patch up the data for (my $i=1; $i < $#table; ++$i) { # check surrounding items and patch the data, as needed . . . }