in reply to can i return two hashes from a soubroutine

Of course, though you'll want to return them by reference. (Actually, you'll have to return at least the first one by reference.)

return( \%test1, \%test2 );
and use the return values appropriately in the caller.

A word spoken in Mind will reach its own level, in the objective world, by its own weight