Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: hash name as a variable?

by hmerrill (Friar)
on Sep 15, 2004 at 15:27 UTC ( [id://391214] : note . print w/replies, xml ) Need Help??

in reply to hash name as a variable?

Careful with your naming - "ISWTEST" should be "ISWTEST_PATH". Look again what you named your hashes up at the top.

The one place you can be bitten by mis-spelling variable names is with *hashes* - even if you have "strict" and "warnings" on.


Replies are listed 'Best First'.
Re^2: hash name as a variable?
by Ronnie (Scribe) on Sep 15, 2004 at 15:48 UTC
    I've looked & can see no error. There are 2 hash tables for each instance. ISWTEST & ISWTEST_PATH, ISWLIVE, ISWLIVE_PATH etc. Have I missed an obvious typo? Cheers, Ronnie
      My mistake - you didn't mis-spell anything.

      Did you get any output besides the error? And which line is line 224?

        Hi, Line 224 is the while (($key,$value ........ & the script output the SOR message, the "Processing ISWTEST message & the EOR message if I remove the use strict. The while ($key.... is not actioned, I put a toytown display in their and it never appeared. If I leave the use strict in I get

        <***** SOR ACC_ORACLE_ENV *****>

        Processing ISWTEST Environment.
        Can't use string ("ISWTEST") as a HASH ref while "strict refs" in use at line 224.

        It would seem that this is the piece of offending code but I still can't see why -
        while (($key,$value) = each %$DB_name) { print "\tKey :: $key\n" ; print "\tValue :: $value\n" ; }
        Cheers, Ronnie