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'>Bestel
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.
>
>