Re: search always returns an iterator

[prev] [thread] [next] [Date index for 2005/05/06]

From: Dana Hudes
Subject: Re: search always returns an iterator
Date: 02:53 on 06 May 2005
I tried again putting () to force list context. Same thing, an iterator.
I traced through the code in cDBI didn't see it check for list context 
just went straight thru to iterator.

On Thu, 5 May 2005, Cees Hek wrote:

> On 5/5/05, Dana Hudes <dhudes@xxxxxx.xxxx> wrote:
> > Despite calling the search method in a list context I always get an
> > iterator back. I don't want this, its inefficient and annoying: I expect
> > no more than perhaps 2 or 3 records and usually only the one.
> > 
> > @foo = Data::Foo->search(%bar);
> > 
> > and you only get the one element in @foo which is an object of
> > Class::DBI::Iterator .
> 
> Are you sure you are not forcing scalar context on the search method?
> 
> @foo = Data::Foo->search(%bar) || die "I just forced scalar context
> and an Iterator will be returned";
> 
> In the above you need to use 'or' instead of '||' which has lower
> precedence and won't clobber your array context.
> 
> Cheers,
> 
> Cees
> 

search always returns an iterator
Dana Hudes 23:58 on 05 May 2005

Re: search always returns an iterator
Michael G Schwern 00:35 on 06 May 2005

Re: search always returns an iterator
Cees Hek 01:39 on 06 May 2005

Re: search always returns an iterator
Dana Hudes 02:53 on 06 May 2005

Re: search always returns an iterator
Perrin Harkins 02:57 on 06 May 2005

Re: search always returns an iterator
Dana Hudes 03:11 on 06 May 2005

Re: search always returns an iterator
Cees Hek 03:35 on 06 May 2005

Generated at 06:54 on 17 May 2005 by mariachi v0.52