in reply to Puzzling Hash of Arrays problem

Maybe it is in the grep line:
if (grep(/$engine/,@{$HoL_engine{$router}}) != 1){
Try: if ( index( join( '', @{$HoL_engine{$router}}), $engine)<0 ){ I always have trouble looking into the actions of grep. Rest of the code seems OK to me...

Hope this helps,

Jeroen
"We are not alone"(FZ)