Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Can't modify int in scalar assignment error

by NetWallah (Abbot)
on Dec 19, 2012 at 05:25 UTC ( #1009496=note: print w/ replies, xml ) Need Help??


in reply to Can't modify int in scalar assignment error

If you "use strict;" in your program, it would have told you:

Global symbol "@accums" requires explicit package name at ..
which identifies the problem immediately, in your "foreach(@accums)" line.

Poor programming practices precurse pernicious predicament.

             "By three methods we may learn wisdom: First, by reflection, which is noblest; Second, by imitation, which is easiest; and third by experience, which is the bitterest."           -Confucius


Comment on Re: Can't modify int in scalar assignment error
Download Code
Re^2: Can't modify int in scalar assignment error
by rkrish (Acolyte) on Dec 19, 2012 at 05:51 UTC

    I have not used 'use strict' in my code. I just tried using it,it gave lot of such messages :( "Global symbol "@accums" requires explicit package name at " Please throw some light on how to fix this :(

      see strict

      If you tell me, I'll forget.
      If you show me, I'll remember.
      if you involve me, I'll understand.
      --- Author unknown to me
      Aside from logic problems, you have a "scope" problem with your "@accum" variable.

      You have declared it in the "while (my @accum=...)" statement, which makes it local to the while loop.

      You attempt to use it outside the while loop (where it does not exist), in the "foreach" statement.

      To correct the problem, the preferred method is to fix your logic.

      If you do not understand what your logic problem is, use globals, and suffer later.

      If you do not understand what I'm trying to say, please read up on variable scoping, and algorithms (these topics are fairly independent of the programming language you choose).

                   "By three methods we may learn wisdom: First, by reflection, which is noblest; Second, by imitation, which is easiest; and third by experience, which is the bitterest."           -Confucius

      rkrish:

      If you add use diagnostics;, it will give more detailed error messages, and suggestions on what the problem is and/or potential fix(es) (IIRC).

      ...roboticus

      When your only tool is a hammer, all problems look like your thumb.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2014-09-22 06:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (182 votes), past polls