使用Catalyst支持Perl 5.8.8

使用Catalyst支持Perl 5.8.8,perl,catalyst,Perl,Catalyst,执行catalyst服务器脚本时面临以下问题 无法加载类(Catalyst::Script::Server),因为Catalyst::Utils模块未导出“确保类已加载” 在/opt/madhan/lib/perl5/Catalyst/ScriptRole.pm第7行出现导入错误后无法继续。 BEGIN失败--编译在/opt/madhan/lib/perl5/Catalyst/ScriptRole.pm第7行中止。 在/usr/lib/perl5/site_perl/5.8.8/Module/R

执行catalyst服务器脚本时面临以下问题

无法加载类(Catalyst::Script::Server),因为Catalyst::Utils模块未导出“确保类已加载”
在/opt/madhan/lib/perl5/Catalyst/ScriptRole.pm第7行出现导入错误后无法继续。
BEGIN失败--编译在/opt/madhan/lib/perl5/Catalyst/ScriptRole.pm第7行中止。
在/usr/lib/perl5/site_perl/5.8.8/Module/Runtime.pm第313行的require中编译失败。
在/opt/madhan/lib/perl5/Catalyst/ScriptRunner.pm第13行的require中编译失败。
Catalyst::ScriptRunner::find_script_类(“Catalyst::ScriptRunner”、“testsite”、“Server”)在/opt/madhan/lib/perl5/Catalyst/ScriptRunner.pm第42行调用
Catalyst::ScriptRunner::run(“Catalyst::ScriptRunner”、“testsite”、“Server”)在/opt/madhan/testsite/script/testsite_Server.pl第8行调用

perl 5.8.8是否支持Catalyst MVC?

这是Catalyst中的一个bug。Catalyst::ScriptRole(自2012年以来!)中有一些类型检查代码完全被破坏,但这种破坏只在特定情况下可见,即,如果脚本向Catalyst::ScriptRole提供了一个尚未加载的类(可能从来没有人加载过)的
loader\u类
,或者如果系统有一个非常旧的版本,比如Perl5.8附带的版本。这是你遇到的第二个案子


我已经向Catalyst Runtime推送了一个补丁来解决这个问题;希望它能很快发布,并包含在中。

它应该能工作-我相信这是一个bug,我正在和维护人员讨论它。但是你知道5.8.8已经有十多年的历史了吗?你用的是什么版本的Catalyst?(
perl-MCatalyst-le'print$Catalyst::VERSION'
)支持2个版本的perl。今天最新发布的版本是5.24.1,因此支持的版本是5.20+:)。我知道一些长期受支持的发行版中的一些供应商(尤其是RedHat)使用5.8.8,但现在确实是升级的时候了,尤其是对于web env,在web env中,现在必须进行简单的unicode处理。。。使用or真的很容易。(尽管如此)Catalyst版本是:5.90114