in reply to Re^2: keys in reference experimental or reference is deprecated
in thread keys in reference experimental or reference is deprecated

So you have a version that works but did not apply the changes that I suggested. When I mentioned a self-contained example, I meant something like the following below, which does not need any editing to be runnable:

use strict; 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) { # key1 = data print "key 1: $key1 + $json_decoded->{$key1}\n"; for my $key2 (keys @{ $json_decoded->{$key1} }) { # key2 = 0 .. x print "key 2: $key2 + $json_decoded->{$key1}[$key +2]\n"; for my $key3 (keys %{ $json_decoded->{$key1}[$key2 +] }) { # key3 = storageDeviceId,model,etc print "key 3: $key3 + $json_decoded->{$key1}[ +$key2]{$key3}\n"; $REST_storage{$key3} = $json_decoded->{$key1}[ +$key2]{$key3}; } } }

That code is explicit about what it uses instead of relying on keys on a reference still working.

Maybe you can look at this code and determine whether it applies to your situation or not. I didn't try this with a recent Perl version.

Replies are listed 'Best First'.
Re^4: keys in reference experimental or reference is deprecated
by demichi (Beadle) on Nov 17, 2016 at 16:44 UTC
    This works! It is an array and not hash, of course. Thanks a lot for your help.