【发布时间】:2018-03-14 22:48:50
【问题描述】:
我从来没有完全理解 Perl 对包名称的解析,但我一直认为以下内容应该总是有效的,假设您是从包含它的目录中执行 myscript.pl:
myscript.pl (contains the following statement: use Class1::Class2::Class3)
Class1/
Class2/
Class3.pm (contains the following package declaration: package Class1::Class2::Class3;)
但是,这在我的代码中不起作用,因为找不到 Class3.pm。看@INC,不包括当前目录,只包括我的Strawberry Perl安装的各个目录。
解决此问题的推荐方法是什么?我想我可以修改@INC,或者我可以开始使用 FindBin,但我不确定哪个最好。我继承了这段代码,只是将它迁移到一个新位置,但看起来旧代码不需要这样的解决方案(我可能错了,还在寻找......)
【问题讨论】:
标签: perl