Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Diagnose code

by Loops (Curate)
on Jun 27, 2013 at 02:17 UTC ( [id://1040895]=note: print w/replies, xml ) Need Help??


in reply to Diagnose code

Only a couple small points. The corrected code follows

The .= operator appends anything on the righthand side to the left.. So you use either x = x . y; or x .= y; but not x .= x . y;

In order for the calculated sum to be available outside of the foreach loop, it must be declared outside of the foreach loop. This also means that it can't be redeclared with "my" inside the foreach loop or in the ensuing print statement.

use strict; use warnings; my $i = 0; my $input = ""; while ($i < 3) { chomp(my $num = <>); $input .= " $num"; $i++; } print "Total input is $input\n"; my @nums = split(' ', $input); my $sum; foreach (@nums) { $sum += $_; } print $sum / @nums . "\n"; exit;

There are many other ways this code can be improved. Hopefully the above points get you going again though.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1040895]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2024-04-26 07:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found