Problema risolto...
era una questione di logica e ogni key di ciascun array venive iterata troppe volte
ho risolto lavorando sul FILEHANDLE e sostituendo i valori quando c'erano match delle 2 key o solo di una delle due, facendo così non vado a toccare i valori quando le due key sono entrambe differenti....
Grazie comunque per l'interessamento....