You want to get or set a cookie to help manage sessions or user preferences.
Using CGI.pm, retrieve an existing cookie like this:
$preference_value = cookie("preference name");
To prepare a cookie, do this:
$packed_cookie = cookie( -NAME => "preference name", -VALUE => "whatever you'd like", -EXPIRES => "+2y");
To save a cookie back to the client browser, you must include it in
the HTTP header, probably using either the
print header(-COOKIE => $packed_cookie);
Cookies store information on the client’s browser. If you’re using Netscape under Unix, you can inspect your own ~/.netscape/cookies file, although this doesn’t show your current set of cookies. It only holds those cookies present when you last exited the browser. Think of them as per-application user preferences or a way to help with transactions. Benefits of cookies are that they can be shared between several different programs on your server, and they persist even across browser invocations.
However, cookies can be used for dubious tricks like traffic analysis and click tracing. This makes some folks very nervous about who is collecting their personal data and what use will be made of their page viewing habits. Cookies don’t travel well, either. If you use a browser at home or in someone else’s office, it won’t have the cookies from the browser in your office. For this reason, do not expect every browser to accept the cookies you give it. As if that wasn’t ...