Jeff Westman wrote:
> 
> 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;

<> will open open and read through each line of the files listed in
@ARGV but you are removing the file names from @ARGV.


>     open(F, "< $file") or die "cannot open file $file: $!\n";
>     parseFile;
>     close(F);
> }
> else {
>     parseFile;
> }
> #----------------------- (end) --------------------#


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) {
    parseFile;
}
else {
    parseFile;
}


Or just:

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
    }
}

parseFile;



> What is obvious to one is not always obvious to another.

Obviously.  :-)


John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to