On Mon, 2006-08-28 at 12:27 +0200, John Cortland Morgan (ZG/ETK) wrote:
> 
> > This will test for a pipe
> 
> > #!/usr/bin/perl
> > # -t tests if a tty is input, else it's a pipe 
> > 
> > if (@ARGV == 0 and -t) {
> >          die "Usage: $0 INPUT\n";
> >      }
> > 
> > while (<>) {
> >          ## process input file(s) here 
> >      }
> > __END__
> 
> 
> The problem(s) with using -t and <> (as above) are:
> 
> if you give only command line line options, the program will
> hang waiting for input. 
> 

If you use getopts it will consume the options,  just put the test after
the getopts processing.

Other alternative is to use a simple shift.

-- 
Ken Foskey
FOSS developer


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to