我应该如何使用Perl模块分发数据文件?

时间:2012-02-14 23:57:14

标签: perl cpan

我已经开始module-starter--builder=Module::Build)。我想使用SQL::Library将我的SQL收集到.ini文件中...但是为了在运行时找到该文件,我需要知道它的确切路径。如何在运行时获取模块“数据目录”的路径?

到目前为止,我一直在使用FindBin(如"$FindBin::Bin/../../path/to/module/datafiles/foo.ini",但我发现这不是很强大(例如,当两个不同的目录中有两个同名的程序时,它似乎会中断) PATH)。

1 个答案:

答案 0 :(得分:16)

这是File::ShareDir的用途。由于您正在使用Module :: Build,因此您需要设置share_dir参数(并且需要Module :: Build 0.36)才能将您的数据文件与模块一起安装。然后,在您的代码中,您将使用File :: ShareDir来计算foo.ini的路径(例如dist_file('My-Dist', 'foo.ini')