Olá pessoal,<br><br>A forma que consi para fechar a sessão foi invalidado os cookies usando $session->expire('-1m'); essa orientação me foi passada por um membro do viva o linux, acho que ele participa da lista também.<br>
<br>Obrigado Ole Peter Smith na tentativa de me ajudar.<br><br>Solução:<br><br>    my $cgi = new CGI;<br>    my $session = new CGI::Session("driver:File", undef,{Directory=>"/tmp"});<br>    my $cookie = $cgi->cookie(CGISESSID => '0');<br>
    print $cgi->header(-cookie=>$cookie);<br>    $session->expire('-1m');<br>    $session->flush();<br><br><div class="gmail_quote">Em 10 de abril de 2012 15:15, Cleysinho <span dir="ltr"><<a href="mailto:cleysinhonv@gmail.com">cleysinhonv@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Inicialmente esta com dúvidas em como gerenciar sessão. Confesso que as vezes que trabalhei com PHP achei um pouco mais fácil. Mas acabei tirando o feriado para estudar. Por hora consigo gerenciar bem a sessão a única coisa que não estou conseguindo fazer é fechar a sessão. Gostaria que alguém pudesse me orientar como posso fazer isso da forma correta. O criei um método para me auxiliar, porém ele continua com a sessão aberta.<br>

<br>Estou usando esse método para fechar a sessão mas algo está errado<br>sub DelSession<br>{<br>    $cgi    = new CGI;<br>    $session = new CGI::Session("driver:File", $cgi, {Directory=>"/tmp"});<br>

    $session->delete();<br>    $cgi->delete();<br>    return 'Ok';<br>}<br><br><br>Aqui esta a classe que criei para tentar "abstrair"<br>package ::Sessao;<br><br># Módulo responsável por fazer controle de sessão<br>

use CGI;<br>use CGI::Session;<br><br># Método pata iniciar uma sessão<br>sub StarSession<br>{<br>    my $id   =shift;<br>    my $name =shift;<br>    my $email=shift;<br>    my $level=shift;<div class="im"><br><br>    if(@_)<br>
    {<br>        $id{id}     =$_[0];<br>
        $name{name}  =$_[1];<br>        $email{email}=$_[2];<br>        $level{level}=$_[3];<br>    }<br><br></div>    $cgi    = new CGI;<br>    $session = new CGI::Session("driver:File", undef, {Directory=>"/tmp"});<br>

<br>    # Send data in the Session<br>    $CGISESSID = $session->id();<br><br>    $cookie = $cgi->cookie(CGISESSID => $session->id);<br>    print $cgi->header(-cookie=>$cookie);<div class="im"><br><br>    $session->param(-name=>'iduser',-value=>"$id");<br>

    $session->param(-name=>'name'  ,-value=>"$name");<br>    $session->param(-name=>'email' ,-value=>"$email");<br>    $session->param(-name=>'level' ,-value=>"$level");<br>

<br></div>    $session->expire('+1m');<br>    $session->flush();<br><br>    return 'Ok';<br>}<br><br># Abre uma sessão existente e coleta dados da sessão<br>sub valid<br>{<br>    $cgi    = new CGI;<br>
    $session = new CGI::Session("driver:File", $cgi, {Directory=>"/tmp"});<div class="im"><br>
    if($session->param('iduser') ne '' && $session->param('name'))<br></div>    {<br>        @dados=();<div class="im"><br>        push (@dados,$session->param('iduser'));<br>
        push (@dados,$session->param('name'));<br>
        push (@dados,$session->param('email'));<br>        push (@dados,$session->param('level'));<br></div><div class="im">        push (@dados,'Ok');<br>        return @dados;<br>    }<br>
    else<br>    {<br>        @dados=();<br>
        push (@dados,'False');<br>        return @dados;<br>    }<br>}<br><br></div># Abre uma sessão existente e fecha<br>sub DelSession<br>{<br>    $cgi    = new CGI;<br>    $session = new CGI::Session("driver:File", $cgi, {Directory=>"/tmp"});<br>

    $session->delete();<br>    $cgi->delete();<br>    return 'Ok';<br>}<br>return 1<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">2012/3/31 Ole Peter Smith <span dir="ltr"><<a href="mailto:ole.ufg@gmail.com" target="_blank">ole.ufg@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br><br><div class="gmail_quote">2012/3/30 Cleysinho <span dir="ltr"><<a href="mailto:cleysinhonv@gmail.com" target="_blank">cleysinhonv@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
Olá <span>Randal,<br><br>Bom tentei fazer dessa forma e com esse método ate funciona ele consegue recuperar os dados da sessão, mas não por muito tempo.<br><br>Na verdade eu preciso inicialmente em cada arquivo preciso verificar se a sessão está vazia(is_empty) ou se ela não está expirada (is_expired</span><span>), porém todas as veses ele está retornando como sessão vazia.<br>



<br>Em cada arquivo que monta uma página eu preciso fazer o seguinte:<br>    if($session->is_expired)<br>    {<br>          $page->redirect(url=><a href="http://gsm.pl" target="_blank">gsm.pl</a>)<br>    }<br>    elsif($session->is_empty)<br>



    {<br>          </span><span>$page->redirect(url=><a href="http://gsm.pl" target="_blank">gsm.pl</a>)</span></div><span><div><br>    }<br>    else<br>    {<br><br>         Pegar os dados na sessão:<div>
<br>        push (@dados,$session->param('iduser'));<br>
</div><div>
        push (@dados,$session->param('name'));<br></div><div>        push (@dados,$session->param('email'));<br></div><div>        push (@dados,$session->param('level'));<br>
    }<br></div>    print $layout->menu();<br>
<br></div>Obs.: Como pegar dados em uma sessão que está vazia?]<br></span></blockquote><div><br></div><div>Save it somewhere? Database, file, somewhere...</div><div><br></div><div>0le </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div><div>
<span><br></span><br><div class="gmail_quote">Em 30 de março de 2012 14:37, Randal L. Schwartz <span dir="ltr"><<a href="mailto:merlyn@stonehenge.com" target="_blank">merlyn@stonehenge.com</a>></span> escreveu:<div>


<div><br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>>>>> "Cleysinho" == Cleysinho  <<a href="mailto:cleysinhonv@gmail.com" target="_blank">cleysinhonv@gmail.com</a>> writes:<br>
<br>
Cleysinho>     if($session->param('iduser') ne '' && $session->param('name'))<br>
Cleysinho>     {<br>
Cleysinho>         @dados=();<br>
Cleysinho>         push (@dados,$session->param('iduser'));<br>
Cleysinho>         push (@dados,$session->param('name'));<br>
Cleysinho>         push (@dados,$session->param('email'));<br>
Cleysinho>         push (@dados,$session->param('level'));<br>
Cleysinho>         push (@dados,'Ok');<br>
Cleysinho>         return @dados;<br>
<br>
                   return map($session->param($_), qw(iduser name email<br>
                   level)), 'Ok';<br>
<br>
Cleysinho>     }<br>
Cleysinho>     else<br>
Cleysinho>     {<br>
Cleysinho>         @dados=();<br>
Cleysinho>         push (@dados,'False');<br>
Cleysinho>         return @dados;<br>
<br>
                   return 'False';<br>
<br>
Cleysinho>     }<br>
Cleysinho> }<br>
<span><font color="#888888"><br>
<br>
--<br>
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - <a href="tel:%2B1%20503%20777%200095" value="+15037770095" target="_blank">+1 503 777 0095</a><br>
<<a href="mailto:merlyn@stonehenge.com" target="_blank">merlyn@stonehenge.com</a>> <URL:<a href="http://www.stonehenge.com/merlyn/" target="_blank">http://www.stonehenge.com/merlyn/</a>><br>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.<br>
See <a href="http://methodsandmessages.posterous.com/" target="_blank">http://methodsandmessages.posterous.com/</a> for Smalltalk discussion<br>
</font></span></blockquote></div></div></div><br><br clear="all"><div><div><br>-- <br><div style="font-family:'Lucida Grande',Geneva,Verdana,Arial,Helvetica,sans-serif;line-height:21px">
<span style="font-family:arial;line-height:normal"><span style="font-family:sans-serif;line-height:19px"><b></b></span></span></div>

<div style="font-family:tahoma,sans-serif;line-height:21px"><div>
<span style="font-size:13px;line-height:21px"><div><span style="font-size:13px;line-height:21px">.: Inteligência Coletiva :.</span></div>Uma
 inteligência distribuída por toda parte: tal é o nosso axioma inicial. 
Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na 
humanidade’. (</span><span style="font-size:13px;line-height:21px">Pierre Lévy)</span>
</div></div><div><a href="http://www.bioinfopop.ufv.br" target="_blank">www.bioinfopop.ufv.br</a><br><span style="font-family:tahoma,sans-serif"></span></div><div style="display:inline"></div><br>
</div></div><br></div></div>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>                                            /////<br>


                                         ( O O )<br>=================oOO==(_)==OOo=================<div>            Every day and every hour, I'm Learning more</div><div>          The more I Learn, the less I Know about before</div>


<div>         The Less I know, the more I want to Look around</div><div>             Diggin' deeper into Higher Ground...  UB40</div><div>                                   .oooO Oooo.<br>==================(     )=(     )=====================<br>


                                     \  (     )  /<br>                                      \_)   (_/<br>===============================================<br>                        Ole Peter Smith, IME, UFG<br>    <a href="http://www.mat.ufg.br/docentes/olepeter" target="_blank">http://www.mat.ufg.br/docentes/olepeter</a> - ole at <a href="http://mat.ufg.br" target="_blank">mat.ufg.br</a><br>


===============================================<br>                   Life sure is a Mystery to be Lived<br>                      Not a Problem to be Solved<br>===============================================</div><br>
<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br><div style="font-family:'Lucida Grande',Geneva,Verdana,Arial,Helvetica,sans-serif;line-height:21px">

<span style="font-family:arial;line-height:normal"><span style="font-family:sans-serif;line-height:19px"><b></b></span></span></div><div style="font-family:tahoma,sans-serif;line-height:21px"><div>
<span style="font-size:13px;line-height:21px"><div><span style="font-size:13px;line-height:21px">.: Inteligência Coletiva :.</span></div>Uma
 inteligência distribuída por toda parte: tal é o nosso axioma inicial. 
Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na 
humanidade’. (</span><span style="font-size:13px;line-height:21px">Pierre Lévy)</span>
</div></div><div><a href="http://www.bioinfopop.ufv.br" target="_blank">www.bioinfopop.ufv.br</a><br><span style="font-family:tahoma,sans-serif"></span></div><div style="display:inline"></div><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div style="font-family:'Lucida Grande',Geneva,Verdana,Arial,Helvetica,sans-serif;line-height:21px"><span style="font-family:arial;line-height:normal"><span style="font-family:sans-serif;line-height:19px"><b></b></span></span></div>
<div style="font-family:tahoma,sans-serif;line-height:21px"><div>
<span style="font-size:13px;line-height:21px"><div><span style="font-size:13px;line-height:21px">.: Inteligência Coletiva :.</span></div>Uma
 inteligência distribuída por toda parte: tal é o nosso axioma inicial. 
Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na 
humanidade’. (</span><span style="font-size:13px;line-height:21px">Pierre Lévy)</span>
</div></div><div><a href="http://www.bioinfopop.ufv.br" target="_blank">www.bioinfopop.ufv.br</a><br><span style="font-family:tahoma,sans-serif"></span></div><div style="display:inline"></div><br>