Hayest has asked for the wisdom of the Perl Monks concerning the following question:
Hello, I'm trying to get the sum of the elements inside of my array. The elements inside of my array are 5 random numbers between 1 and 50. This is what I've got so far:
#!/usr/bin/perl use strict; use warnings; my %num; while ((keys %num) < 5) { $num{int(rand(50)+1)} = 1; } print join(' ' , keys %num) . "\n"; my @array = join(' ' , keys %num) . "\n"; my $sum = 0; foreach my $var (@array) { $sum = $sum + $var; } print("The sum is: $sum\n");
This first gives me my 5 random numbers, then, the line below is supposed to say "The sum is: (my sum here)." I keep getting the following as an error, and only the first random number is displayed:
sh-4.2# perl
main.pl
16 30 21 7 11
Argument "16 30 21 7 11\n" isn't numeric in addition (+) at main.pl line 18.
The sum is: 16
Does anyone have any input on what I can do to make this work correctly? Thank you!!!
|
|---|