You apply a string value (scalar) to an array. It looks like you are trying to print it. You probably want to do this:my @array = join(' ' , keys %num) . "\n";
There is a simpler way to do realize your program:my @array = keys %num;
It's easier to use an array, instead of hash for your program.my @num = ();
or, even easier:while(scalar @num < 5){ push @num, int(rand(50) + 1); }
push(@num, int(rand(50) + 1)) for(1..5);
print join(' ' , @num), "\n";
Or, the final code:my $sum = 0; for(@num){ $sum += $_; } print "The sum is: $sum\n";
Or, group the loops:my @num = (); push(@num, int(rand(50) + 1)) for(1..5); my $sum = 0; for(@num){ $sum += $_; } print join(' ' , @num), "\n"; print "The sum is: $sum\n";
my @num = (); my $sum = 0; for(1..5){ my $num = int(rand(50) + 1); push(@num, $num); $sum += $num; } print join(' ' , @num), "\nThe sum is: $sum\n";
In reply to Re: Trying to get sum of elements in array
by igoryonya
in thread Trying to get sum of elements in array
by Hayest
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |