but when I run the code I get the following error. I know what it means - I just dont understand why Im getting it.#!/usr/bin/perl -w use strict; use diagnostics; use CGI qw/:standard/; use CGI::Cookie; # Create new cookies and send them my $cookie1 = new CGI::Cookie(-name=>'ID',-value=>123456); my $cookie2 = new CGI::Cookie(-name=>'preferences', -value=>{ font => 'Helvetica', size => 12 } ); print header(-cookie=>[$cookie1,$cookie2]); print start_html; # fetch existing cookies my %cookies = fetch CGI::Cookie; my $id = $cookies{'ID'}->value; print $id; print end_html;
print $id;Set-Cookie: ID=123456; path=/ Set-Cookie: preferences=font&Helvetica&size&12; path=/ Date: Sat, 19 Mar 2005 04:19:17 GMT Content-Type: text/html; charset=ISO-8859-1 <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-U +S"><head><title>Untitled Document</title> Can't call method "value" on an undefined value at ./index.cgi line 17 + (#1) (F) You used the syntax of a method call, but the slot filled by t +he object reference or package name contains an undefined value. Som +ething like this will reproduce the error: $BADREF = undef; process $BADREF 1,2,3; $BADREF->process(1,2,3); Uncaught exception from user code: Can't call method "value" on an undefined value at ./index.cgi + line 17. at ./index.cgi line 17
In reply to setting cookies by tcf03
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |