Hi all,

I already had issues with this code and got help (see http://www.perlmonks.org/?node_id=1176056) but I get a new error now and hope it is ok to open a new post for this the new issue.

Perl Version 5.10.0. causes the error:

yyy.pl Type of arg 1 to keys must be hash (not array dereference) at yyy.pl l +ine 22, near "}) " Execution of yyy.pl aborted due to compilation errors.

Code:

use strict; use warnings; use Data::Dumper; my %REST_storage; my $json_decoded = { 'data' => [ { 'svpIp' => '10.1.1.1', 'model' => 'xyz', 'storageDeviceId' => '800000058068', 'serialNumber' => 58068 } ] }; print Dumper $json_decoded; for my $key1 (keys %$json_decoded) { print "key 1: $key1 + $json_decoded->{$key1}\n"; for my $key2 (keys @{ $json_decoded->{$key1} }) { print "key 2: $key2 + $json_decoded->{$key1}[$key +2]\n"; for my $key3 (keys %{ $json_decoded->{$key1}[$key2 +] }) { print "key 3: $key3 + $json_decoded->{$key1}[ +$key2]{$key3}\n"; $REST_storage{$key3} = $json_decoded->{$key1}[ +$key2]{$key3}; } } } print Dumper %REST_storage;

I undestand that I need hash instead of array for

for my $key2 (keys @{ $json_decoded->{$key1} }) but I do not know how to solve it.

Thanks for help.

kind regards deMichi

In reply to Type of arg 1 to keys must be hash (not array dereference) at by demichi

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.