我正在研究我想在CPAN中提交的perl模块。 但是我对模块的目录结构有一个小问题。
根据perlmonk article,模块代码目录结构应如下所示:
Foo-Bar-0.01/Bar.pm
Foo-Bar-0.01/Makefile.PL
Foo-Bar-0.01/MANIFEST
Foo-Bar-0.01/Changes
Foo-Bar-0.01/test.pl
Foo-Bar-0.01/README
但是当我使用该命令时,结构生成如下
h2xs -AX Foo::Bar
Writing Foo-Bar/lib/Foo/Bar.pm
Writing Foo-Bar/Makefile.PL
Writing Foo-Bar/README0
Writing Foo-Bar/t/Foo-Bar.t
Writing Foo-Bar/Changes
Writing Foo-Bar/MANIFEST
答案 0 :(得分:2)
有问题的文章提倡使用相当旧的模块结构。它当然可以使用,但它在良好的测试,构建和分发实践方面已经失去了很多进步。
打破分歧:
根据您对问题的评论中的建议,使用Module :: Starter或Dist :: Zilla(请注意,Dist :: Zilla是基于Moose的,并将安装 lot of prereqs)以更现代的方式构建模块的更好方法。在这两个版本中,h2xs版本更接近到现代包装标准,但你最好使用推荐的软件包启动器选项之一(可能是Module :: Build,它使用Build Perl脚本)而不是Makefile来构建代码。)