in reply to CGI Session behavior

Every time you create a new session on purpose (ie from a login page or wherever the session should start), add a particular session variable. When you go to fetch an existing session, check for that variable, if the sessionid didnt exist and you got a new session, it won't be there.

CGI::Session itself doesn't have a built-in way to error on creation, so if you really need one, you'll have to subclass it and extend the new() method.

C.