我对Perl/CGI有点新,我来自Java/JSP背景.
我正在编写一个小型原型,需要将一些"重"数据(~200MB)加载到数据结构中.
现在,我显然希望避免在每次请求时加载数据.到目前为止,我设法使用一个"静态"变量(一个封装在{}块中),但这似乎适用于一些请求.在一些不活动时间之后,下一个请求将不得不再次加载数据.
从我的JSP经验来看,这似乎是一种会话变量,在会话到期之前仍然可用.
如何设置"全局"或"应用程序"变量?不确定这些术语是否适用于CGI ...是否可以让应用程序的所有会话共享一个变量?
顺便说一句,我现在只是使用"使用CGI qw(:标准)".
执行CGI脚本,然后在每个请求后终止.每次都会加载200 MB变量.
您应该将此数据放入数据库或其他结构化格式,以便您只在需要时加载数据.
查看类似MLDBM,DBD :: SQLite或DBM :: Deep的内容
Ovid的CGI课程也是学习在Perl中编写CGI脚本的好资源.