while (<FH>) {
chomp $_;
$a[$i]=$_;
$i++;
}
Can be rendered in a variety of briefer ways, briefest of which is probably:
@a = <FH>; # diamond operator in "list" (or array) context
# will read all input records into array elements
chomp @a; # chomp can work on a list
If there are other things you want to do while assigning input records to an array, you can keep the while loop, but without using the array index variable ($i):
while (<FH>) {
chomp; # $_ is the default arg to chomp;
# ... do other things to $_ if necessary ...
push @a, $_; # add a new element at end of @a
}
In terms of printing the array elements as a "joined set", you should just play with different things to see how they work -- try a few command lines like this:
perl -e '@a=qw/one two three four/; print @a,$/'
perl -e '@a=qw/one two three four/; print "@a$/"'
perl -e '@a=qw/one two three four/; print join(" ", map { "foo=$_" }
+@a), $/'
R some more FMs and have fun with it. |