我有一个 cgi 页面 index.cgi 和一个登录表单模板
索引.cgi
use Singleton::CGI;
use Singleton::Session;
$q = new Singleton::CGI();
$session = new Singleton::Session();
$template = HTML::Template->new(filename => 'login.tmpl');
print $q->header;
print $q->start_html("hello perl");
print $q; # printing hash of CGI Object.
print $session;
print $template->output;
print $q->end_html;
if($q->param('submit')){
print $q->header;
print $q->start_html("hello user");
print $q; # printing hash of CGI Object.
print $session;
print $q->param('text');
print $q->end_html;
}
登录.tmpl:
<form action="/" method="post">
<input type="text" name="text"/>
<input type="submit" name="submit" value="submit"/>
</form>
这是我得到 index.cgi 时的输出
CGI=HASH(0xbe0510)
SingletonSession=HASH(0x1e67ee60)
连同表格
接下来,当我提交表单时,然后 CGI=HASH(0xe2ac500) 与表单输入值相匹配。SingletonSession=HASH(0x115dc7a0)
根据我的要求,我应该只获得一个会话对象。
我应该如何在整个应用程序中只维护一个查询和会话对象?