Hi, I am trying to get my script to be able to read from the command line arguments as well as take input from a pipe. This is what I have basically:
#----------------------- (begin) --------------------# #!/bin/perl use warnings; sub parseFile() { while (<F>) { # do some processing to the file # ... } } if (@ARGV) { # this part works fine $file = shift; open(F, "< $file") or die "cannot open file $file: $!\n"; parseFile(\*F); close(F); } else { # trying to read from a pipe, such as 'cat file | thisScript.pl' parseFile(\*STDIN); } #----------------------- (end) --------------------# When I run this, as in 'cat myFile | thisScript.pl', I get: Too many arguments for main::parseFile at ./x line 16, near "*F)" Too many arguments for main::parseFile at ./x line 21, near "*STDIN)" Help please. Jeff __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]