A.2. Answers to Chapter 3 Exercises
-
Here's one way to do it:
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 around 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 that 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:
@names = qw/ dummy_item fred betty barney dino wilma pebbles bamm-bamm /;
Give yourself extra credit if you checked to make sure that the
user's choice of index was in fact in the range 1 to 7.
-
Here's one way to do it, if you want the output all on one line:
chomp(@lines = <STDIN>);
@sorted = sort @lines;
print "@sorted\n";
...or, to get the output on separate lines:
print sort <STDIN>;
| | | A. Exercise Answers | | A.3. Answers to Chapter 4 Exercises |
Copyright © 2002 O'Reilly & Associates. All rights reserved.
|
|