in reply to Beginner in perl : Use of uninitialized value
Just another tip: there is no need to read all of STDIN into an array; you can iterate over each line as it comes in.
while ( my $line = <STDIN> ) { ... }
The diamond operator <> will do some pretty fancy stuff for you by default. You can for example leave out the explicit STDIN:
while ( my $line = <> ) { ... }
What is really cool about this is that now in addition to working with STDIN you can also pass a list of filenames to your Perl program and it will do the right thing.
See perlop - IO Operators for more details on the diamond operator.
Of course you also don't need to set an explicit loop variable for a program of this size; you can just use $_:
while (<>) { ... }
And at this point, you may want to look into Perl's -n command line option, which will automatically wrap your entire program inside that exact same loop:
bash:~$ perl -nE '...'
πάντων χρημάτων μέτρον έστιν άνθρωπος.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Beginner in perl : Use of uninitialized value
by jwkrahn (Abbot) on Dec 28, 2018 at 19:41 UTC | |
by jimpudar (Pilgrim) on Dec 28, 2018 at 20:20 UTC | |
by Perl_Programmer1992 (Sexton) on Dec 29, 2018 at 07:42 UTC |