我有一個名爲Conf.pm的模塊,它打開一個名爲conf.json的文件。 conf.json conf.pm的相對路徑是「.../conf/conf.json」;如何從perl模塊打開文件
但是,當我將Conf.pm包含在其他文件夾中的腳本中時,相對路徑會發生變化,而Conf.pm找不到conf.json。
如何從Conf.pm打開conf.json。
我有一個名爲Conf.pm的模塊,它打開一個名爲conf.json的文件。 conf.json conf.pm的相對路徑是「.../conf/conf.json」;如何從perl模塊打開文件
但是,當我將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
它