Hi
I am looking for someone who can provide a shorter and nicer way of either getting input from STDIN or from file. And if there is no input from STDIN return help page.
Ex. of my ugly version.
use IO::Select; # Get a list of hosts from either a file or STDIN my @hosts; if($#ARGV != -1) { my $file = $ARGV[0]; if(! -f $file) { die "File $file doesn't exist\n" } open FH, "<$file" or die "Failed to open file $file: $!\n"; @hosts = <FH>; close FH; } else { my $sel = IO::Select->new(); $sel->add(\*STDIN); my @ready = $sel->can_read(0); if($#ready == -1) { die <<__USAGE__; usage: do_something [file] ... __USAGE__ } @hosts = <STDIN>; }
In reply to Nicest way of getting STDIN a beauty contest by mickep76
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |