我有一个我想要使用的独立Perl模块,但是我无法让'set lib'工作。我做错了什么?
我在Mac OS的终端上工作,模块位于桌面/Users/John/Desktop/HT/Conlang
的文件夹中。
#! perl -w
package HT::Conlang::S17;
use strict;
use vars qw($VERSION @EXPORT_OK);
use base 'Exporter';
use lib '/Users/John/Desktop/HT/Conlang';
use HT::Conlang::S17;
我怎样才能让它发挥作用?
答案 0 :(得分:2)
null
没有意义。它属于脚本。即便如此,如果它是绝对路径(而不是相对于use lib
的路径),设置env var $FindBin::RealBin
比使用{{1}要好得多}}
问题#2。如果您的模块使用包PERL5LIB
,则应使用use lib
加载,这意味着Perl将搜索HT::Conlang::S17
,因此要添加到use HT::Conlang::S17;
的条目应为{{1} }}
问题#3。 HT/Conlang/S17.pm
不仅仅包含Perl模块。您应该有一个专用于Perl库目录的目录。
解决方案,第1部分。将@INC
移至/Users/John/Desktop
。
解决方案,第2部分。让您的登录过程将/Users/John/Desktop
添加到env var /Users/John/Desktop/HT
。