perlquestion
Rohit Jain
<p><b>I have a problem</b>: To read a list of numbers from user, and print all the above average numbers..</p>
<p>Here's is the code I have come up with.. And its working fine: </p>
<code>
#!/perl/bin
use v5.14;
sub find_above_average {
my $mean = &calculate_average(@_);
say "Average is: $mean";
my @numList;
foreach (@_) {
if ($_ > $mean) {
push(@numList, $_);
}
}
return @numList;
}
sub calculate_average {
my $sum = 0;
foreach (@_) {
$sum += $_;
}
return $sum / @_;
}
say "Enter a list of numbers to calculate above average numbers:";
chomp(my @numList = <STDIN>);
say "The numbers above average are: ";
print &find_above_average(@numList);
# foreach (&find_above_average(@numList)) {
# print $_, ", ";
# }
</code>
Is there any room for improvement in this code in some way??