print "Enter some lines, then press Ctrl-D:\n"; # or maybe Ctrl-Z @lines = <STDIN>; @reverse_lines = reverse @lines; print @reverse_lines;
or, even more simply:
print "Enter some lines, then press Ctrl-D:\n"; print reverse <STDIN>;
Most Perl programmers would prefer the second one as long as you don't need to keep the list of lines for later use.
Here's one way to do it:
@names = qw/ fred betty barney dino wilma pebbles bamm-bamm /; print "Enter some numbers from 1 to 7, one per line, then press Ctrl-D:\n"; chomp(@numbers = <STDIN>); foreach (@numbers) { print "$names[ $_ - 1 ]\n"; }
We have to subtract one from the index number so the user can count from 1 to 7 even though the array is indexed from 0 to 6. Another way to accomplish this would be to have a dummy item in the @names array, like this: