Perl Web开发:CGI::Application与CGI.pm的深度解析
1. CGI::Application概述
CGI::Application是一个应用框架,可用于以标准方式创建应用程序,并处理几乎所有应用程序中常见的一些任务。
当编写扩展CGI::Application的模块时,除了定义运行模式子程序和基模块中定义的子程序外,还可以编写任意用户定义的子程序。若这些子程序要生成HTML输出,需返回一个字符串并追加到HTML内容中,而非直接打印,示例如下:
sub print_page_start {
my $arg = shift;
return "<html><head><title>Example List $arg</title></head><body>\n";
}
要将该子程序的输出包含在页面中,可使用以下代码:
$output .= &print_page_start('foo');
另一个在扩展CGI::Application的模块中常被重写的子程序是 teardown
。此子程序在运行模式子程序执行完毕且输出发送给用户后被调用,用于在脚本退出前执行清理操作,如关闭数据库连接或删除临时文件。
此外,CGI::Application会自动打印查询头。若要更改内容类型,可使用 header_