my $arrayHash1 =(); my $arrayHash2 =(); my $arrayHash3 =(); my $FinalMegaHash =(); if ( condition1==true){ generate arrayHash1; $FinalMegaHash .= $arrayHash1; } if ( condition2==true){ generate arrayHash2; $FinalMegaHash .= $arrayHash2; } if ( condition3==true){ generate arrayHash3; $FinalMegaHash .= $arrayHash3; } print Dumper $FinalMegaHash;