mr007619 has asked for the wisdom of the Perl Monks concerning the following question:

Hello Monks - I have read over perlreftut and perldsc enough times to get through most of my issues - but I'm now experiencing a problem I can't get past: Below is an example Data Dumper output.

$VAR1 = { 'somethingunknown' => [ { 'attachedto' => 'Server1 +', 'val2' => 'x.x.x.x', 'expires' => '7', }, { 'attachedto' => undef, 'val2' => 'x.x.x.x', 'expires' => '7', }, ] }; $VAR1 = { 'someothername' => [ { 'attachedto' => 'server4', 'val2', => 'xyz', 'expires' => '24' } ] };

My problem is, I would typically access data using something like

print $element->{'somethingunknown'}[0]{'val2'}";

While I'm using a loop how do I know that what I'm looking for is $element->{'somethingunknown'} vs $element->{'someothername'}. Any help would be much appreciated. Everything I've tried to do to access the actual name of the value just gives me errors, either telling me it's a hash or I can't splice an array that way etc.

Replies are listed 'Best First'.
Re: References issue
by NetWallah (Canon) on May 31, 2013 at 03:14 UTC
    Try a loop like this:
    for my $k (keys %$VAR1){ # $k contains 'somethingunknown' or 'someothername' for my $aoh (@{ $VAR1->{$k} }){ print "$k has ", $aoh->{val2},"\n" } }

                 "I'm fairly sure if they took porn off the Internet, there'd only be one website left, and it'd be called 'Bring Back the Porn!'"
            -- Dr. Cox, Scrubs

      I mean to comment that I had figured this out and forgot to, I basically did exactly what you said - I just had the wrong syntax previously. Thanks!!
Re: References issue ( ref )
by Anonymous Monk on May 31, 2013 at 07:06 UTC