my %hash = map { join(':', $_->{Computer}, $_->{Bulletin}, ( $_->{Product} || "" ), $_->{Status} ) => $_ } @{GetQueryTable('all_records_for_report', 138)}; #### my %hash; for ( @{GetQueryTable('all_records_for_report', 137)} ) { $hash{"$_->{Computer}:$_->{Bulletin}:" . ($_->{Product}||"") . ":$_->{Status}"} = $_; }