[Bioperl-l] Conflicting CGI.pm with Bio::Tools::GuessSeqFormat ?
Sendu Bala
sb at mrc-dunn.cam.ac.uk
Mon Jun 5 09:02:48 UTC 2006
Wijaya Edward wrote:
> Dear Lincoln and experts
>
> Curently I have a CGI application that does this:
>
> 1. read and uploaded file
> 2. check the content of the file whether fasta or not
> 3. print out the content of the file.
>
>
> Now the problem I'm facing is that
> on step three. The content of the file handled is altered
> namely the very first line does not get printed.
The problem is almost certainly that the guessing is done by reading the
first line of the filehandle, so that your subsequent while loop on that
same filehandle starts at the second line.
Just seek the filehandle back to the start before trying to print the
contents out.
...
my $guesser_upload = new Bio::Tools::GuessSeqFormat(-fh => $fh_upload );
my $format_upload = $guesser_upload->guess;
seek($fh_upload, 0, 0);
...
while (<$fh_upload>) {
...
}
An alternative might be to pass GuessSeqFormat the filename in which
case it would make its own filehandle and close it, leaving your own
filehandle untouched.
More information about the Bioperl-l
mailing list