> Could someone help me please? > > I am trying to write a simple script that will take input > from the command line as well as input from a pipe. > > For example, the script should be able to do both of the following: > > $ cat someFile | myPerlScript.pl # from a pipe > > and > > $ myPerlScript.pl someFile # from command line > > This is what I have (very simple): > > #----------------------- (begin) --------------------# > #-- myScript.pl --# > # > #!/bin/perl > use warnings; > > sub parseFile() > { > while (<>) { ## I tried passing in \*STDIN or \*F but > ## had nothing but problems with that > > # do some processing to the file > # ... > print ". "; ## just to do something in the loop for now > } > } > > if (@ARGV) { > $file = shift; > open(F, "< $file") or die "cannot open file $file: $!\n"; > parseFile;
You need to give parseFile() something to parse, Perhaps open(F, ....); parseFile(*F); close(F); Here and parseFile(*STDIN); Then in parseFile() just do your while() on the FH passed to it. That I'm not 100% how to do. Also use strict; That will help tracj down probs. HTH DMuey > close(F); > } > else { > parseFile; > } > #----------------------- (end) --------------------# -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]