in reply to
Concerning hash operations (appending, concatenating)
The above solutions rely on interpreting the hash in a list context, in which it returns all its key value pairs flattened out. for eg, see the below code
use strict ;
use warnings ;
my %hash=('a'=>'b','c'=>'d') ;
my @arr=(%hash) ;
local $"="|" ;
print "@arr" ;
which spews out
a|b|c|d
Now,
(%hash,'e'=>'f')
flattens out the key value pairs of %hash into a list. Hence it reduces to
('a'=>'b','c'=>'d','e'=>'f')
So on and so forth for code like
(%hash1,%hash2)