in reply to Re: reference question between sub
in thread reference question between sub

Dumper helped. I made a typo, _i_eoc_reason , this was suppose to be _eoc_reason This program is not even close to being finished but so far looks ok... I always thought I should be using dumper but until you actually put it down there with how I should look at things, I dind't think it was usefull.. but it showed me what I was doing wrogn right away thank you!!

Replies are listed 'Best First'.
Re^3: reference question between sub
by convenientstore (Pilgrim) on Sep 13, 2007 at 22:42 UTC
    actually, now I can see the structure, but my question still remains, how do I reiterate over hash reference which has dynamic key to get the value out?
    $VAR1 = [ { '13-3:USNJN4SOIMT_N3_N' => '16' }, { '15-73:USNJN4SOIMT_N3_N' => '34' }, { '13-84:USNJN4SOGLONAPUS_N' => '34' },

      Again, you need to fix the basic problem first. Your structure is bad. There's no point to having hashes with just one key.

      Again, it's hard to say what it should be without knowing what this data is and what you are doing with it.

      Perhaps the following is what you need?

      $VAR1 = [ [ '13-3:USNJN4SOIMT_N3_N', '16' ], [ '15-73:USNJN4SOIMT_N3_N', '34' ], [ '13-84:USNJN4SOGLONAPUS_N', '34' ], ];

      or maybe even

      $VAR1 = [ [ '13-3', 'USNJN4SOIMT_N3_N', '16' ], [ '15-73', 'USNJN4SOIMT_N3_N', '34' ], [ '13-84', 'USNJN4SOGLONAPUS_N', '34' ], ];

      I hesitate to say this, since you really should not be using hashes to store a single value. But it is still good to know how to get the keys of a hash.

      If your hash keys are unique you could put them all in the same hash as below. If they are not unique, you'd have to do something like ikegami suggests, and make it a 2D array.

      #! perl use strict; use warnings; my %VAR1 = ( '13-3:USNJN4SOIMT_N3_N' => '16', '15-73:USNJN4SOIMT_N3_N' => '34', '13-84:USNJN4SOGLONAPUS_N' => '34', ); foreach my $key (keys(%VAR1)) { print "Key '$key' has value '${VAR1{$key}}'\n"; }

      Outputs:

      Key '13-3:USNJN4SOIMT_N3_N' has value '16' Key '13-84:USNJN4SOGLONAPUS_N' has value '34' Key '15-73:USNJN4SOIMT_N3_N' has value '34'