【问题标题】:perl module - how to reference files included in the Manifestperl 模块 - 如何引用清单中包含的文件
【发布时间】:2023-03-20 04:30:01
【问题描述】:

我创建了一个包含几个额外文件的模块,这些文件位于清单中,并在我运行“make install”时安装,以及MyModule.pm

我的问题是如何从MyModule 引用这些?

my $mfile = "incfile1.txt';  # this fails , as does ./  /  etc

【问题讨论】:

    标签: perl module package


    【解决方案1】:

    取决于这些文件的安装位置。

    如果它们相对于模块的 .pm 文件总是安装在同一个位置,那么您只需要确定模块的安装目录即可。这样做的一种方法是读取 .pm 文件的 %INC 值,它是包含模块的路径,并将该值处理到文件的路径中。

    所以让我们假设您的模块安装在 /usr/lib/perl5/5.18.0/MyModule 中,并且额外的文件在同一目录中。一种方法是:

    my $mypath = $INC{'MyModule/Work.pm'};
    my $mypath =~ s/Work\.pm/OtherFile.txt/;
    open(my $fh, "<", $mypath);
    

    【讨论】:

      猜你喜欢
      • 2016-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多