Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options


by wardk (Deacon)
on Sep 14, 2000 at 01:02 UTC ( #32361=modulereview: print w/replies, xml ) Need Help??

Item Description: Manage Cookies via Perl CGI

Review Synopsis: Review, resources and simple usage of CGI::Cookie

revised: 10/22/2000 - unhappy with original "review"

CGI::Cookie is an easy way of managing cookies for your website.

CGI::Cookie is authored by Lincoln D. Stein

There are many available documents and examples available to show you how to utilize this module. I am hoping that I can create a review, and not just another coding example.

Below is an example, however it is not near as complete as the examples that may be found at the following sites:

I have used this module on the following platforms without issue.

  • Solaris
  • HP-UX
  • Linux (SuSE, Caldera)
  • FreeBSD 3.x
  • Windows (95,98,NT)

Why use it?

  • Session management
  • User login management and security
  • Impress/scare your users by tracking what they do
  • Saving data to be used later when you lack a database
  • Because it's easier than doing it by hand

What I've used it for

  • Secure login session management
  • Manage webpage "themeing"

For those wanting a quickie usage without following the above links...

This example will use CGI and CGI::Cookie. It will create a cookie, set the cookie via the HTTP header and then retrieve the cookie and display it.

In my example, this is what gets sent to the browser to create the cookie...obtained via an NT command line. Note that at a command line, you will not see the set cookie in the print loop, as there was no browser to do the storing/retrieving.

Set-Cookie: CookieName=CookieValue; path=/C:\wardk\
Date: Wed, 13 Sep 2000 21:00:35 GMT
Content-Type: text/html

Here is the code that created the above. Happy coding!

#!/usr/bin/perl use CGI; use CGI::Cookie; $q = new CGI; # Create a new cookie $cookie = new CGI::Cookie(-name=>'CookieName',-value=>'CookieValue'); # set the Cookie print $q->header(-cookie=>$cookie); print $q->start_html; %cookies = fetch CGI::Cookie; # print the cookie while (( $k,$v) = each %cookies) { print "<p>$k = $v"; } print $q->end_html; exit;

Replies are listed 'Best First'.
Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: modulereview [id://32361]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2023-03-22 16:44 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (60 votes). Check out past polls.