Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Faulty Control Structures?

by GrandFather (Saint)
on Jan 29, 2008 at 05:00 UTC ( [id://664845]=note: print w/replies, xml ) Need Help??


in reply to Faulty Control Structures?

Seems to me your main block should look more like:

#!/usr/bin/perl -w use strict; my @main = &open_file_main (); my @annot = &open_file_annot (); open OUTPUT, '>', 'output.txt' or die "Cannot open $!"; # loop through the main data file foreach my $md (@main) { chomp $md; my ($main_chrom, $winl, $winr) = split (/\s{2,}/, $md); foreach my $ad (@annot) { my ($an_chrom, undef, undef, $prol, $pror, undef, undef, undef +, $mess) = split (/\s{2,}/, $ad); next unless $main_chrom eq $an_chrom; my (undef, undef, $name) = split (/\;/, $mess); next if $winr < $prol or $winl > $pror; print OUTPUT "$name\t $md\n"; #last; } } exit;

Note that there is no need for a sub to open the output file! If you need to do complicated stuff in the context of opening the output file, return the file handle from the sub - do not use a 'global' variable that is set as a side effect!


Perl is environmentally friendly - it saves trees

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://664845]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (2)
As of 2024-04-26 03:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found