2012-10-29 62 views
1

我从.pl文件创建了一个Perl模块,现在正在测试它。它的工作原理,直到它需要使用另一个.pl文件(以拉出一些sql语句)。我使用require 'file.pl';来调用文件。这是一个临时解决方案,因为.pl文件将来会被更好的数据库解决方案替代,但现在我需要测试我的模块代码。尽管我已经使用use lib '/path/to/file'将路径名放在@INC中,但它不喜欢试图找到该文件。我可以从perl中的模块调用.pl文件吗?

有没有我可以用来解决这个问题的临时解决方案?我不知道什么时候.pl文件将被替换,所以我不能等待。我是否应该将sql语句移动到.pm文件中,即使我稍后必须删除它们,还是必须搜索出模块所在的文件夹,并在其中放入.pl文件的副本?

+0

注意,'.pl'通常用于与'package'文件,在这种情况下,你不应该使用'require'可言。你应该使用'do'/path/to/file.pl;'。 – ikegami

回答

5

您可以要求全路径名:

require '/path/to/file.pl'; 
+0

这是有道理的,我应该考虑过之前,但它仍然认为我从'.pl'文件调用的方法是我的模块的一部分。是否有指定子程序的位置? (就像你怎么可以做'使用模块qw(sub_name)') – dgBP

+0

oooh认为我已经整理了这个,我把这个文件放在一个包里 - 删除了那行,嘿,快!谢谢 :) – dgBP

相关问题