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

Reply via email to