我正在学习现代perl - Moose, Plack等。在许多建议中,你可以读到"通过示例学习"-所以开始搜索一些用Modern perl编写的可运行的应用程序。
浏览了很多页面,比如:
- https://www.socialtext.net/perl5/applications
- https://www.socialtext.net/perl5/websites_using_perl
和更多(perl.org等)-不幸的是-我没有发现任何"准备好运行"的应用程序编写与现代perl。
我没有发现任何驼鹿/Plack - CMS,既不是ShoppingCart,也不是博客或任何web应用程序。很难相信它们不存在,所以我可能找错地方了。
你能告诉我一些用现代Perl编写的"准备运行"的web应用程序(不仅仅是框架)吗?我检查了上面链接中的所有应用程序,没有一个是基于Moose/Plack的。
已经找到"现代"应用
基于催化剂:
- MojoMojo (wiki) -由Ian silitoe添加
- ShinyCMS (cms) -由Mike添加
- Deimos (cms) -由Mike添加
其他Moose/Plack应用程序:
- 没
Mason -框架,但纯 Moose/Plack为基础。
编辑:在github中搜索"Catalyst"后的一些链接(可能,有些被放弃了):
- https://github.com/niner/CiderWebmail -基于Perl/Catalyst/AJAX的Webmail
- https://github.com/shlomif/catable -催化剂博客引擎-写的perl猫
- https://github.com/yusukebe/Kutter -一个Web应用程序显示关于每个人吃饭的推文。这是Catalyst, DBIx::Class和Moose的示例
- https://github.com/gshank/ravlog - Perl Catalyst博客
- https://github.com/bobtfish/CatalystX-JobServer -异步作业AMQP作业服务器和消息处理程序,带有长发
- https://github.com/fayland/foorum -论坛(基于Catalyst的论坛/BBS系统)
- https://github.com/Craftworks/Engage -应用程序框架,包括催化剂,施瓦茨和App::Cmd
- https://github.com/orlandov/blogjob -催化剂博客web应用程序(由MongoDB提供支持!)
和更多。
不幸的是,不知道如何在github上搜索非催化剂,但仍然是Moose/Plack应用程序。
ShinyCMS是一个使用Catalyst和Moose的开源内容管理系统。它还处于早期阶段,但绝对值得一看。
据我所知,Deimos CMS仍处于alpha阶段,但可能会引起兴趣。
Silki是一个基于Catalyst的wiki托管平台,它使用Moose, Catalyst和Fey::ORM。
Silki是由Dave Rolsky写的,我强烈建议你看看他的博客。它包含了大量真正有用的信息,包括"我如何使用催化剂"。虽然它不是一个可以随时运行的应用程序,但您可能会发现查看Chloro的源代码很有帮助。
最后,WebNano是一个基于PSGI的框架-我知道你正在寻找应用程序,但由于这是基于PSGI的,我认为它可能是有用的。
你可以看看Duck Duck Go的一些Github库。它是Modern Perl,使用Catalyst,里面有很多Moose。社区平台项目是一个好的开始。
如果你正在看Modern Perl下的web应用程序框架——你看过Catalyst吗?
- http://catalyst.perl.org
- http://mojomojo.org/
- http://search.cpan.org/dist/MojoMojo/
他们的教程也是查看工作代码的好地方:
- http://search.cpan.org/dist/Catalyst-Manual/lib/Catalyst/Manual/Tutorial.pod
或者你可以看看Mojolicious——可能是一个更容易开始的地方。
- http://mojolicio.us
这里有很多烹饪书类型的代码(但不确定大型应用程序)
- http://mojolicio.us/perldoc/Mojolicious/Guides
HTH
你提到了Moose。除了烹饪书,我还发现这本手册也很有帮助。还有一个温和的介绍驼鹿和得到你的鹿角(都来自催化.org)。
除此之外,我建议修补一些东西,看看它是如何工作的。一旦你这样做了,如果你有更具体的问题,请把他们。