sub hashy { my $obj = shift; return { map { my $g = $obj->get($_); $g = hashy($g) if ref $g; ( $_ => $g ); } $obj->columns }; } __END__ $VAR1 = { 'artist' => { 'artistid' => '1', 'name' => 'U2' }, 'cdid' => '1', 'title' => 'October', 'year' => '1981' };