WOW, that is like logic puzzles -- are you running on caffeine?
Add something like print $query->escapeHTML( scalar Dumper( $query, $session ) ) after each start_html
start fresh browser session,
- visit one page,
- in another tab visit same page,
- then click the count link in another tab,
- click it again in another tab,
- wait 10 seconds (which you use for expire for testing), then click open count in another tab again
- then copy/paste ;CGISESSID=... and append to a url and open in another tab
compare each dumper to one another and you'll see
no cookie on 1st tab,
cookie on 2nd tab, same cookie on 3rd and 4th tab,
no cookie on 5th tab
no cookie on 6th tab
Many trip over cgi/cookies/sessions :) Basic cookie management (May 01) , Cookie login (pseudocode), PRG...