On Fri, Apr 27, 2001 at 05:34:08PM -0700, [EMAIL PROTECTED] wrote: > On Fri, 27 Apr 2001, Micah Cowan wrote: > > > On Fri, Apr 27, 2001 at 03:28:58PM -0500, Jay Strauss wrote: > > > In DBI there is: > > > > > > $ary_ref = $dbh->selectrow_arrayref($statement); > > > @row_ary = $dbh->selectrow_array($statement); > > > > > > but only > > > > > > $ary_ref = $dbh->selectcol_arrayref($statement); > > > > > > Why??? (i.e why no @col_ary = $dbh->selectcol_array($statement)) > > > > Dunno. You'll have to ask the author :) > > I think this would encourage inefficient programming constructs, because > such a function would imply a complete iteration through all the rows and > columns while ignoring all but one. It is more efficient to use a query > that only returns the single column you are interested in. I don't think it would imply that at all. Whether it returns a list, or a reference to an array, it still does the same iteration. If something can return a reference to a (newly constructed) array, one could certainly return a list of values just as easy. Or did I misunderstand you? It might be that it was done this way to eliminate a copy of the list created by this method into the return value, but I really don't know anything about the DBI (or Perl) internals, so I really can't say. Micah
