[Bioperl-l] What happens to STDOUT?
roy at colibase.bham.ac.uk
Fri Mar 31 08:59:18 EST 2006
> A little off topic, but might be usefull as well.
> Sometimes you don't know whether the input sequences will come from
> stdin or from a file. Therefor, I ofen found myself writing things like:
> my $seqin = Bio::SeqIO->new(-format => $informat, $file ? (-file =>
> $file) : (-fh => \*STDIN));
> This can be replaced by:
> my $seqin = Bio::SeqIO->new(-format => $informat, $file ? -fh =>
I suspect you mean:
my $seqin = Bio::SeqIO->new(-format => $informat, -fh => \*ARGV);
But does this work? perldoc perlvar says it "may not":
Note that currently ARGV only has its magical effect within the <>
operator; elsewhere it is just a plain filehandle corresponding to the
last file opened by <>. In particular, passing \*ARGV as a parameter to
a function that expects a filehandle may not cause your function to
automatically read the contents of all the files in @ARGV.
> In that way, you have the same magic as the diamond/pulp fiction
> operator <>
Pulp fiction operator? Never heard it called that before.
Dr. Roy Chaudhuri
Bioinformatics Research Fellow
Division of Immunity and Infection
University of Birmingham, U.K.
More information about the Bioperl-l