Okay, thanks (everyone).

On Tue, 7 Nov 2000, Geoffrey Young wrote:

> 
> from the camel book: "Use of defined on aggregates (hashes and arrays) is
> deprecated."
> 
> so, change
> 
> if (!defined @fields)
> 
> to
> 
> unless (@fields)
> 
> and not only be idiomatic, but exhibit the behavior you want :)
> 
> but seriously, it's a perl thing, not a mod_perl thing:
> 
> #!/usr/bin/perl
> sub test {
>   my @array;
> 
>   if (!defined @array) {
>     print "not defined\n";
>   } else {
>     print "defined\n";
>   }
> 
>   push @array, "item";
> }
> 
> test();
> test();
> 
> results:
> not defined
> defined
> 
> HTH
> 
> --Geoff
> 
> 
> > -----Original Message-----
> > From: Ron Rademaker [mailto:[EMAIL PROTECTED]]
> > Sent: Tuesday, November 07, 2000 7:44 AM
> > To: lporcano
> > Cc: [EMAIL PROTECTED]
> > Subject: Re: Apache::Registry() and strict
> > 
> > 
> > I'm not quite looking for a workaround, I already got one, I'd like to
> > know why it's going wrong.
> > 
> > Ron
> > 
> > On Sun, 7 Nov 1999, lporcano wrote:
> > 
> > > It looks like you are trying to determine if an array is 
> > empty, in that case
> > > replace
> > > if (!defined(@fields))
> > > with
> > > if (!scalar(@fields)).
> > > 
> > > ----- Original Message -----
> > > From: Ron Rademaker <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Cc: <[EMAIL PROTECTED]>
> > > Sent: Tuesday, November 07, 2000 5:26 AM
> > > Subject: Re: Apache::Registry() and strict
> > > 
> > > 
> > > > Okay, here's the part where it's going wrong:
> > > >
> > > >     my @fields; # The variable that's causing the 
> > trouble, should be
> > > > undefined after this declaration
> > > >     my $printedfields = 0;
> > > >
> > > >     foreach my $hash_ref (@$data_ref)
> > > >     {
> > > > if (!defined(@fields)) # Passes the second time the child gets a
> > > > request, but @fields = ()
> > > > {
> > > >     @fields = @$hash_ref;
> > > > }
> [snip]
> 

Reply via email to