I have been able to use the following to check for multiple items: for my $t0_ (keys %RAD_REQUEST_PROXY_REPLY) { if(UNIVERSAL::isa( $RAD_REQUEST_PROXY_REPLY{$t0_} , "ARRAY" )) { } else {} } and I have been successful in editing the values and sending them to my NAS with: $RAD_REQUEST_PROXY_REPLY{$t0_}[0]="newValue"; but I cannot for the life of me traverse the array in the hash. I've tried all kinds of methods with foreach and for loops, but I cannot get the lenght/size of the array. When I know i've got 3 attributes of a specific kind I can do: $RAD_REQUEST_PROXY_REPLY{$t0_}[0]="newValue1"; $RAD_REQUEST_PROXY_REPLY{$t0_}[1]="newValue2"; $RAD_REQUEST_PROXY_REPLY{$t0_}[2]="newValue3"; but I cannot find the size of $RAD_REQUEST_PROXY_REPLY{$t0_}. Any help in the right direction would be greatly appreciated. Tim. W