Andrej Kastrin <[EMAIL PROTECTED]> asked:
> I wrote simple script, which have to concatenate multiple 
> lines into array and then print each element of tihis array:
> 
> open INPUT,"<$ARGV[0]";
> while ($line=<INPUT>){

I would instead suggest you use the <> special filehandle.
This automagically opens any file whose name is passed as
a command line parameter. If @ARGV is empty, it uses STDIN
instead. Very hand indeed!

I also recommend you use strict and warnings and declare
all of your variables.

#!/usr/bin/perl -w
use strict;

my @array;

while( my $line = <> ){
  push (@array,$line);
}

If you don't intend to process the lines while you're reading
them you could go ahead and slurp all of them in one go:

my @array = <>;

This loop should only run after you're done reading the file.
Otherwise it'll print the parts that have been read already
again and again.

>     foreach $i(@array){
>         print $i;
>    }

HTH,
Thomas

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