#set cookie for search
#/usr/local/bin/perl
use CGI;
$cgiobject=new CGI;
$cgiobject->use_named_parameters;

&get_state_variables;
$cookie_data=&prepare_cookie;
&set_cookie($cookie_data);
&performSearch;

sub get_state_variables()
 #retrieve from the CGI queries the keys and value we want to store in the cookie
 { $search_term=$cgiobject->param("search_term");
   $result_style=$cgiobject->param("result_style");
   $result_perpage=$cgiobject->param("result_perpage");
 }

sub prepare_cookie()
 #packages the variables into one data string for storage in cookie
 { $cookie_data="search_term=$search_term|".
                "result_style=$result_style|".
                "result_perpage=$result_perpage";
   return $cookie_data;
 }

sub set_cookie($cookie_data)
 #sets cookie on user's machine
 { $final_cookie=$cgiobject->cookie(-name=>'searchform',
                              -value=>$cookie_data,
                              -expires=>'+6M');
   print $cgiobject->header(-cookie=>$final_cookie);
 }

sub performSearch()
 { print $cgiobject->start_html(-title=>'Search results',-bgcolor=>'white');
   print "blah blah blah"
   # ... rest of dosearch Perl code ... #
 }