Re: search always returns an iterator

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

From: Cees Hek
Subject: Re: search always returns an iterator
Date: 01:39 on 06 May 2005
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.
>=20
> @foo =3D Data::Foo->search(%bar);
>=20
> 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 =3D 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