$Key = $Registry->Open( "LMachine/Software/Vibac_Calls/CallsList/Fields", {Access=>KEY_READ(),Delimiter=>"/"} ) or warn "OPEN: $Key -> (ERROR: $^E)\n"; my @regFields = $Key->SubKeyNames; $data_mycalls{fields} = (); for my $x(0..$#regFields) { my $fieldKey = $Registry->Open( "LMachine/Software/Vibac_Calls/CallsList/Fields/$regFields[$x]", {Access=>KEY_READ(),Delimiter=>"/"} ) or warn "OPEN: $Key -> (ERROR: $^E)\n"; #print (join " ", keys %{$fieldKey}) . "\n"; my @regValues = $fieldKey->ValueNames; #THIS IS THE LINE IN MY CODE WHERE THE ERROR APPEARS for my $y(0..$#regValues) { $data_mycalls{fields}[$x]{$regValues[$y]} = $fieldKey->GetValue($regValues[$y]); } }