I tried testing your code, but I couldn't for the life me get CGI::Session working - however, I did get CGI::kSession working, and I pasted some code below. From what I can tell, your logic works and is good, and I would therefore assume that the issue lies in the module's usage. You might want to check this one out - it's clean an simple... (haven't looked at the actual .pm code, though...)
#!/usr/local/bin/perl

use strict;
use CGI;
use CGI::kSession;

my $cgi = new CGI;
print $cgi->header;
print $cgi->start_html();

my $s = new CGI::kSession(lifetime=>10,path=>"/tmp/",id=>'test');
$s->start();
$s->register("name") unless $s->is_registered("name");
$s->register("age") unless $s->is_registered("age");

if ($cgi->param("name")) {
        $s->set("name", $cgi->param("name"));
        $s->set("age", $cgi->param("age"));
        &add_age();
} elsif ($cgi->param('test')) {
        &add_age();
} else {
        print $cgi->start_form,
                "Name: ",
                $cgi->textfield("name"),
                "Age: ",
                $cgi->textfield("age"),
                $cgi->p,
                $cgi->submit('Next'), " ",
                $cgi->defaults("Clear"),
                $cgi->end_form;
}

print $cgi->end_html();

sub add_age {
        my $age = $s->get("age");
        my $name = $s->get("name");
        $age++;
        print $name, "\'s new age is $age";
        $s->set("age", $age);
        #$s->set("name", $name);
        print $cgi->start_form,
                $cgi->hidden(-name=>'test', -value=>'test'),
                $cgi->submit('Next'),
                $cgi->end_form;
}

1;

In reply to Re: CGI::Session problems by oubiwann
in thread CGI::Session problems by fuzzyping

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.