As Anonymous Monk pointed out, there is no CGI::Session->retrieve() method. I think you want to either call new() or load(), using the same arguments you used in your initial call to new(). CGI::Session->load() attempts to load an existing session. CGI::Session->new() also attempts to load an existing session, but if it can't, it creates a new session and returns it.