On Feb 7, 2013, at 10:34 PM, shawn wilson wrote:

> How do I take in a file or pipe input? What I want is:
> script.pl file.txt
> or
> cat file.txt | script.pl
> 
> What I'm trying is:
> my $logfile;
> if (@ARGV and $ARGV[0] =~ /^-./) {
>  open($logfile, '<', $ARGV[0]);
> } elsif (-t STDIN and not @ARGV) {
>  $logfile = <STDIN>;
> } else {
>  doe "no data"
> }
> 
> PS - I want to avoid slurping the whole file.

The null filehandle (<>) will read from standard input if @ARGV is empty, and 
from the members of @ARGV, interpreting each scalar as a file name to be opened 
automatically in succession.

Does that do what you want?


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to