SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] Wierd perl error



Hej

Jeg har nu prøvet en masse forskellige ting, her er mit simpleste test
program. Programmet virker hvis indholdet af sub XXSessionInit fjernes !!!!

Der er tydeligvis noget jeg ikke forstaar, hvordan kan en subrutine der ikke
kaldes have denne effekt ????

Jeg har testet med CGI::Session::File og det ser ud til at virke fint.

Det ville vaere rart at vide om andre faar samme fejl.

Program og error er nedenfor :

#!/pack/collect/bin/perl -T -w

use strict;
use DBI;
use CGI::Session::MySQL;

my $Sessiondbh = OpenDB('PlitSessions','xx','yy');

my $session = new CGI::Session::MySQL(undef, {
                   Handle     => $Sessiondbh,
                  })
                  or die $CGI::Session::errstr;

sub OpenDB {
 my ($DbName, $DbUser, $DbPas) = @_;
 my $dbh = DBI->connect("DBI:mysql:$DbName", $DbUser, $DbPas
           , { PrintError => 1, RaiseError => 1, AutoCommit => 1 }) ||
           die "Could not open DB, $DbName, $DbUser, $DbPas: $!";
 return $dbh;
}

sub XXSessionInit {
 $session->param("~logged-in");
}

Dette program failer med denne error :
sslug@sslug cgi-bin]$ ./gangwarTEST.pl
Use of uninitialized value in numeric eq (==) at
        /usr/lib/perl5/site_perl/5.6.1/CGI/Session/MySQL.pm line 35 during
global destruction (#1)
    (W uninitialized) An undefined value was used as if it were already
    defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
    To suppress this warning assign a defined value to your variables.

    To help you figure out what was undefined, perl tells you what operation
    you used the undefined value in.  Note, however, that perl optimizes
your
    program and the operation displayed in the warning may not necessarily
    appear literally in your program.  For example, "that $foo" is
    usually optimized into "that " . $foo, and the warning will refer to
    the concatenation (.) operator, even though there is no . in your
    program.

Use of uninitialized value in concatenation (.) or string at
        /usr/lib/perl5/site_perl/5.6.1/CGI/Session/MySQL.pm line 36 during
global destruction (#1)
        (in cleanup) Uncaught exception from user code:
        Can't call method "FETCH" on an undefined value at
/usr/lib/perl5/site_perl/5.6.1/CGI/Session/MySQL.pm line 103 during global
destruction.
        CGI::Session::MySQL::teardown('CGI::Session::MySQL=HASH(0x81793bc)')
called at /usr/lib/perl5/site_perl/5.6.1/CGI/Session.pm line 123
        CGI::Session::DESTROY('CGI::Session::MySQL=HASH(0x81793bc)') called
at ./gangwarTEST.pl line 0
        eval {...} called at ./gangwarTEST.pl line 0
sslug@sslug cgi-bin]$

Peter

"Peter Makholm" <sslug@sslug> wrote in message
news:sslug@sslug
> "Peter Lindstrøm" <sslug@sslug> writes:
>
> > Use of uninitialized value in join or string at
> >         /usr/lib/perl5/site_perl/5.6.0/i386-linux/DBI.pm line 387 during
> > global destruction (#1)
>
> [...]
>
> >         DBI::connect('DBI', undef, undef, undef, 'HASH(0x8472ef0)')
called
> > at /usr/lib/perl5/site_perl/5.6.1/CGI/Session/MySQL.pm line 131
>
> Ok, der er to oplysninger. Der er noget der ikke er initialiseret (læs
> undefined) og problemet er CGI::Session::MySQL
>
> > my $Sessiondbh = Plit::Mysql::OpenDB('PlitSessions','YY','XX');
> > my $Admindbh = Plit::Mysql::OpenDB('AdminGangWar','YY','XX');
>
> [...]
>
> > my $sid = $cgi->cookie('PLITGANGWARSID') || undef;
> > my $session = new CGI::Session::MySQL($sid, {
> >                    Handle     => $Sessiondbh,
> >                   })
> >                   or die $CGI::Session::errstr;
>
> Dette er det eneste sted hvor du giver data til
> CGI::Session::MySQL. Har du tjekket at $Sessiondbh er defineret?
>
> Prøv at tjekke resultatet af Plit::Mysql::OpenDB i ovenstående to
> linjer.
>
> --
> SSLUGs julekalender - hver dag fra den 1. til den 24. december
>    http://www.sslug.dk/julekalender/
>




 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:55
Denne side vedligeholdes af MHonArc .