如何将所有请求发送到前端控制器"在perl

时间:2014-07-26 17:33:16

标签: perl .htaccess lwp-useragent front-controller

我是第一次在perl中创建应用程序,并希望使用前端控制器方法,其中所有请求都通过一个脚本根据uri委派要加载的页面。

我的脚本是什么样的:

use LWP::UserAgent;
use Template;

my $base_url = 'project.local/';
my $ua = LWP::UserAgent->new;

if ($ua->get($base_url . 'reports'))
{
        my $reports_tt = Template->new(\%options);
        $reports_tt->process('reports.tt', \%varz, 'reports.html') or die $reports_tt->error;
}

所以在我的home.html页面上,有一个指向'project.local / reports'的链接。我想在点击此链接时加载“reports.html”页面。使用这种方法,我可以将所有路线保存在一个地方。

但是这不会加载reports.html页面,我使用LWP::UserAgent->get()的方式是错误的吗?我想我需要一种方法将所有请求路由到.htaccess文件中的脚本,但我不确定如何做到这一点。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您完全使用了错误的工具。 LWP::UserAgent是一个HTTP客户端库 - 用于创建HTTP请求并将其发送到其他Web服务器。它不能用于响应HTTP请求或编写Web服务器。

完全解释如何在Perl中编写Web应用程序是我在这里可以合理地做的,但是您可能想要查看现有的Perl Web开发框架,如CatalystDancerMojolicious