Nandita Mullapudi wrote: > Hi all, > am using the following script to parse a long list of files. funnily > enough, it works fine when i try a couple sample files, but when i'm > using a long list of files, it comes up with this error: > > readline() on closed filehandle FILE at hashing22.pl line 29, <FILE> > line 13 (#1) > (W closed) The filehandle you're reading from got itself closed > sometime > before now. Check your logic flow. > > i dont know what could be causing this- any ideas?
Well, the most likely is that your open failed. > here's the script: > #!/usr/bin/perl-w > # takes a file where the first line specifies query length, puts in > ahash # the seqid and numbers listed, adds up the numbers, divides by > qlen # and give len coverage. > > use diagnostics; > > $out_dir = "post_parsing_len_cov_files"; > mkdir $out_dir, 0777 unless (-e $out_dir); > $| = 1; > > $files= "./listofnames2"; > > open (FH,"$files") or die "cannot create list :$!"; You're correctly checking the return form this open. > while (<FH>) { > > push (@list, $_); > } > > foreach (@list) { > $filename=$_; > > open (FILE, $filename); But not his one, > open (HASH_OUT, ">$out_dir/$filename.stats"); or this one. The former of these two is the one you should be interested in right now, open (FILE, $filename) or die "Unable to open $filename: $!"; but put a check on both to avoid future problems! [snip remainder of code and data] HTH, Rob -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]