The stupid question is the question not asked PerlMonks

### Re: New Perl user - help with my homework

by soonix (Abbot)
 on Dec 27, 2018 at 15:43 UTC ( #1227757=note: print w/replies, xml ) Need Help??

in reply to New Perl user - help with my homework

Since your teacher wants you to use for, I think the first two tasks are solved OK. But for your own projects, definitely look at the other solutions, too.

Third and fourth task: you wrote:

```    if (\$numbers[0] > 50) {
push (@array,\$numbers[0]) }
if (\$numbers[1] > 50) {
push (@array,\$numbers[1]) }
if (\$numbers[2] > 50) {
push (@array,\$numbers[2]) }
if (\$numbers[3] > 50) {
push (@array,\$numbers[3]) }
That's 4 times the (nearly) same statement. And if it were not 4 numbers, but 10 - what then? And earlier, you saw that you can't write
```    \$sum += 2;
push(@array,2);
\$sum += 4;
push(@array,4);
\$sum += 6;
push(@array,6);
This is the stage for the other type of "for": either
```for (@numbers) {
push @array, \$_ if \$_ > 50;
}
or - for learning purposes more verbose:
```for my \$current (@numbers) {
if (\$current > 50) {
push @array, \$current;
}
}
Of course, this is possible with a C-style for, too, but this one is one of Perl's strengths.

Create A New User
Node Status?
node history
Node Type: note [id://1227757]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2019-05-22 11:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Do you enjoy 3D movies?

Results (139 votes). Check out past polls.

Notices?