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;
> }
> else
> {
> print "<tr>";
> if (!$printedfields)
> {
> $printedfields = 1;
> foreach my $field (@fields)
> {
> print "<th>$$hash_ref{$field}</th>";
> }
> print "</tr>";
> }
> else
> {
> foreach my $found (@fields)
> {
> print "<td align='center'>";
> my $tempfound = $found;
> my $unitskey = $tempfound . "units";
> my $printed = 0;
> if (defined($$hash_ref{$unitskey}))
> {
> print "$$hash_ref{$unitskey}$$hash_ref{$found}";
> $printed = 1;
> }
> $tempfound =~ s/min//;
> $tempfound =~ s/max//;
> $unitskey = $tempfound . "units";
> if (defined($$hash_ref{$unitskey}) && !$printed)
> {
> print "$$hash_ref{$found} $$hash_ref{$unitskey}";
> }
> elsif(!$printed)
> {
> print "$$hash_ref{$found}";
> }
> print "</td>";
> }
> print "</tr>";
> print "<tr></tr><tr></tr><tr><td
> colspan='$#fields'>$$hash_ref{productlongdescription}</td></tr>" if
> (($url_ref eq "") && (defined($$hash_ref{productlongdescription})) &&
> ($specdb eq ""));
> print "<tr><td colspan='$#fields' align='center'><a
>
href='/cgi-bin/order.cgi?productcode=$$hash_ref{productcode}&number=1'>Beste
l
> dit product</a></td></tr>"; # Second run causes a use of unititialised
> value here, will be solved if defined checks does what is should
> }
> }
> }
>
> On Tue, 7 Nov 2000 [EMAIL PROTECTED] wrote:
>
> >
> > Then it is definitely variable persistence !
> >
> > If you really can't track down the bug, you might try posting your
code to
> > the list.
> >
> > Perhaps someone will spot something you've missed ?
> >
> > Simon.
> >
> >
> >
> >
> >
> >
> > From Ron Rademaker
<[EMAIL PROTECTED]>
> > Date 7 November 2000
> >
> >
> > To
> > Simon Wilcox/BASE/WilliamsLea@WilliamsLea Time 10:04
> >
> >
> >
> > Copy to [EMAIL PROTECTED]
> >
> >
> >
> > Bcc
> >
> >
> >
> > Fax to
> >
> >
> >
> > Subject Re: Apache::Registry() and strict
> >
> >
> >
> >
> >
> > I just read that part of the guide, for the third time today, but still
I
> > didn't see anything that could help, I don't get any warnings and I'm
not
> > using globals. The problem does occur when trying to use a child more
then
> > once. So when I tried running with httpd -X I got the wrong output the
> > second time.
> >
> > Ron
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ______________________________________________________________________
> >
> >
> > This email contains proprietary information some or all of which may
be
> > legally privileged. It is for the intended recipient only. If an
addressing
> > or transmission error has misdirected this email, please notify the
author by
> > replying to this email. If you are not the intended recipient you
must not
> > use, disclose, distribute, copy, print, or reply on this email.
> >
> >
>
>