如何从perl模块打开文件

如何从perl模块打开文件,perl,Perl,我有一个名为Conf.pm的模块,它打开一个名为Conf.json的文件。 conf.pm的conf.json相对路径为“../conf/conf.json” 但是当我在其他文件夹中的脚本中包含Conf.pm时,相对路径会发生变化,Conf.pm找不到Conf.json 如何从conf.pm打开conf.json。这里的技巧是使用模块FindBin,它允许您在模块中“相对于我的位置”工作 在.pm中添加: use FindBin; my $home_path = $FindBin::RealBi

我有一个名为Conf.pm的模块,它打开一个名为Conf.json的文件。 conf.pm的conf.json相对路径为“../conf/conf.json”

但是当我在其他文件夹中的脚本中包含Conf.pm时,相对路径会发生变化,Conf.pm找不到Conf.json


如何从conf.pm打开conf.json。

这里的技巧是使用模块
FindBin
,它允许您在模块中“相对于我的位置”工作

.pm
中添加:

use FindBin;
my $home_path = $FindBin::RealBin; 
my $json_path = $home_path."/../conf/conf.json";
你可以用

use File::Basename;
my $dirname = dirname(__FILE__);
为了获得当前脚本(即conf.pm)的路径,然后向其中添加
。/conf/conf.json