in reply to Re^2: Sending cookies without module
in thread Sending cookies without module

There are two sections to what you are sending back to the HTTP server. First, you (or the module you use) need to print a list of header data (ex line: "Content-Type: text/html\n"). Then you want to send a blank line, then your content.

However, if it's printing your headers to the screen, your problem is apparently that your code (/module) has already sent the HTTP headers section _and_the_blank_line_ when it gets to the code above.

So you can either stop using the module:

#/usr/bin/perl print <<END Content-Type: text/html Set-Cookie: this=that <html> html content here </html> END
or you can tell CGI::Cookie to go ahead and send that header after creating the CGI::Cookie object (see the docs for CGI::Cookie):
use CGI qw/:standard/; use CGI::Cookie; # Create new cookies and send them $cookie1 = new CGI::Cookie(-name=>'ID',-value=>123456); $cookie2 = new CGI::Cookie(-name=>'preferences', -value=>{ font => Helvetica, size => 12 } ); print header(-cookie=>[$cookie1,$cookie2]);
I didn't use your code in this last example because I'm not sure if you are trying to print the header stuff before all the content, and that's necessary. So make sure this is at the beginning. Then, in CGI::Cookie parlance, you need to bake the cookie:
my $c = new CGI::Cookie(-name=>'Something'); $c->bake;
There are many was to write this, check the docs from the link here for more info.