It could be how you're entering the numbers. As a simple example of this, try the following:
chomp( @list = <STDIN> ); print "Item: ", ++$count, ", Value: $_\n" foreach @list;
If you are hitting 'enter' after each number, your output will look (for example) like this:
Item: 1, Value: 2 Item: 2, Value: 3 Item: 3, Value: 4
But if you're just entering each number one after the next, separated by whitespace, and hitting enter at the very end, your output will look like:
Item: 1, Value: 2 3 4
Hopefully that illustrates what is going on here. The quick fix is to alter the script to look like this:
chomp( @input = <STDIN> ); push( @list, split( /\s+/, $_ ) ) foreach @input; foreach ( @list ) { print "$names[$_-1]\n"; }
Dave
In reply to Re: A simple foreach question
by davido
in thread A simple foreach question
by newperl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |