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.

The last task is made for Perl-style for, too.