2011-03-08 36 views
2

假设我有一个模块,最终有一天会在CPAN上得到。 可以使用“自动”文件夹来存储我的模块将使用的一些默认资源(模板,图像等)。 模块的用户可以在本地决定使用他自己的资源,但是模块应该在没有需要任何配置的情况下工作。 一些倾向于使用.pm文件中的DATA部分(即使对于二进制数据),但我更喜欢单独的文件。 有没有公约或最佳做法? 在此先感谢。“lib”中的“auto”可用于

回答

8

请勿为此使用/auto子目录。使用File::ShareDir模块为模块的共享文件找到合适的目录。

+3

可能要添加这个故事的另一面是很容易像'模块::安装:: Share'和'DIST ::吉拉模块处理::插件:: ShareDir'。 – phaylon 2011-03-08 16:03:15

+0

啊真的很有帮助我看了看源代码,它实际上确实做了什么。谢谢。 – 2011-03-08 16:45:04

+3

如果您使用普通的'EU :: MM',请参见['File :: ShareDir :: Install'](http://p3rl.org/File::ShareDir::Install);如果普通的'M :: B',请参见['Module :: Build :: API#share_dir'](http://p3rl.org/Module::Build::API#share_dir)。 – daxim 2011-03-08 17:24:51

2

/auto目录由AutoSplit创建。除非你使用这个模块,否则你应该避免它。 AutoSplit管理着/auto目录,所以你不应该自己做任何事情。

有关详细信息,请参阅:

pelrdoc AutoSplit 
perldoc AutoLoader