lib-在编译时操作@INC
使用lib LIST;无库LIST;
这是一个简单的小模块,它简化了编译时对@INC的操作。
它通常用于向perl的搜索路径添加额外的目录,以便以后使用
或要求
语句将查找不位于perl默认搜索路径上的模块。
到的参数使用lib
添加到perl搜索路径的开头。说
使用lib LIST;
是几乎和说的一样
开始{unshift(@INC,LIST)}
对于LIST中的每个目录(此处称为$dir),lib模块还检查是否存在名为$dir/$archname/auto的目录。如果是这样,则假定$dir/$archname目录是相应的特定于体系结构的目录,并将其添加到$dir.lib.pm前面的@INC中,还将检查名为$dir/$版本和$dir/$version/$archname的目录是否存在,并将这些目录添加到@INC。
的当前值$域名
可以通过以下命令找到:
perl-V:域名
获取当前值的相应命令$版本
是:
perl-V:版本
为了避免内存泄漏,@INC中的所有尾部重复项都将被删除。
通常只应将目录添加到@INC。如果需要从@INC中删除目录,请注意只删除那些您自己添加的目录,或者您确定脚本中的其他模块不需要的目录。其他模块可能添加了正确操作所需的目录。
这个无库
语句从@INC中删除每个命名目录的所有实例。
对于LIST中的每个目录(此处称为$dir),lib模块还会检查是否存在名为$dir/$archname/auto的目录。如果是这样,则假定$dir/$archname目录是相应的特定于体系结构的目录,并从@INC中删除。lib.pm还检查名为$dir/$版本和$dir/$version/$archname的目录是否存在,并从@INC中删除这些目录。
首次加载lib模块时,它会在数组中记录@INC的当前值@库::ORIG_INC
。要将@INC恢复到该值,您可以说
@INC=@lib::ORIG_INC;
为了使lib.pm小而简单,它只适用于Unix文件路径。这并不意味着它只适用于Unix,但非Unix用户必须首先将他们的文件路径转换为Unix约定。
#VMS用户希望将[.stuff.moo]放入#他们的@INC会写使用lib“stuff/moo”;
将来,该模块可能会使用File::Spec来确定路径,就像现在在Mac OS上一样(Unix样式或Mac样式的路径可以工作,Unix样式的路径在添加到@INC之前会正确转换为Mac样式路径)。
如果您尝试按如下方式将文件添加到@INC:
使用lib“this_is_a_file.txt”;
图书馆
将对此发出警告。唯一的例外是具有.票面价值
打算用作库的扩展。
FindBin-可选模块,处理与源文件相关的路径。
PAR-可处理的可选模块.票面价值
文件作为Perl库。
Tim Bunce,1995年6月2日。
图书馆
由perl5-porters维护。请直接向规范邮件列表咨询任何问题。不过,任何适用于CPAN发行版的内容都可以发送给其维护者。
维护人员:Perl5-Porters<网址:perl5-porters@perl.org>
CPAN版本的维护者:Steffen Mueller<smueller@cpan.org>
自perl 5.001以来,这个包一直是perl核心的一部分。它已单独发布给CPAN,因此较旧的安装可以从错误修复中受益。
这个包与perl内核具有相同的版权和许可证。