What else can I do? Select

Selects are basically "get information out". Following the Perl tradition, there's more than one way to do it. For example:

my $empty_column_desc = $dbh->selectall_arrayref(qq{
  select table_name, column_name 
  from mjr_cat_ext_table_det where
  column_description is null
});
my %empty_columns;
for (@$empty_column_desc) {
  my ($t, $c) = @$_;
  $empty_columns{$t}{$c} = 1;
}

You can also just fetch one row:

print $dbh->selectrow_array(qq{
  select 1 + 1 from dual
});

Or fetch into a hash:

$dbh = DBI->connect('dbi:SQLite:data.db', 
  { 'FetchHashKeyName' => 'NAME_lc' });
$weeks = $dbh->selectall_hashref(qq{
  select week, sum(hours * prob) weighted_prob 
  from work
}, 'week');
for (sort keys %$weeks) {
  print "Week $_ -> " . $weeks->{$_}->{weighted_prob} . "\n";
}