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}[$key2]\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}; } } } #### $VAR1 = { 'data' => [ { 'svpIp' => '10.1.1.1', 'model' => 'xyz', 'storageDeviceId' => '800000058068', 'serialNumber' => 58068 } ] }; key 1: data + ARRAY(0x2c79f78) key 2: 0 + HASH(0x321a140) key 3: svpIp + 10.1.1.1 key 3: model + xyz key 3: storageDeviceId + 800000058068 key 3: serialNumber + 58068