in reply to Getting HASHES out of Class::DBI

You can simplify things somewhat by letting get() do its work in one go:
sub data_hash { my $obj = shift; my(@cols) = $obj->columns; my %hash; @hash{@cols} = $obj->get(@cols); \%hash; }