my $logged_in = write_session( $user ); print Dumper($logged_in, $session->param('user')); sub write_session { my $user = shift; my $session = new CGI::Session(); $session->param('user' => $user); $session->param('logged_in' => 1); my $cookie = $query->cookie( CGISESSID => $session->id ); #print $query->header(-cookie => $cookie); print $session->header(-cookie => $cookie); #$session->flush() return ($session->param('logged_in')); } ---------- DUMPER ------------ $VAR1 = 1; $VAR2 = undef;