perl的pm包里如何调用其他perl文件里的方法? 10

因为历史遗留问题,系统中会有一些自建的非面向对象的公共函数包。现在我在现有平台上搭建新的东西,建了个pm包,在测试的服务器上,pm包里只要require了其他的perl函... 因为历史遗留问题,系统中会有一些自建的非面向对象的公共函数包。
现在我在现有平台上搭建新的东西,建了个pm包,在测试的服务器上,pm包里只要require了其他的perl函数包(如require('xxx/xx/xx.pl);),就可以直接用其中函数(如&getxxx();)。
但是整体搬到另一个服务器之后,这种调用就失效了。
也考虑过重新写那些老的函数包,但是考虑到时间问题,还是想试试能否直接调用。
请教这是为什么?如何才能调用?
展开
 我来答
百度网友c9e795dda
2013-05-02 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1137万
展开全部

1) 你说的 "调用失效", 是你的 pm 包, 还是 main ?

2) 怎麼个失效法 ? 报甚麼错 ?

3) 看看你放 pm 包的位置是否在这里

print $_.$/ foreach @INC

4) require('xxx/xx/xx.pl), 你这是 linux 还是 windows, 如果是 linux, 那看放其他 .pl 包的路径是否已有读取权限

5) 重新检查一次, 个别 package / pl 中所需要的其他 module 是否也已在新系统上配置妥当

du瓶邪
推荐于2017-09-23 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2817万
展开全部
如下:
set array("a") 1
set array("b") 2
然后在另一个文件里面可以通过source 命令,然后test.tcl就能访问array 如下:
source test.tcl
puts "$array($a)"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FanyongYin
2013-05-02 · TA获得超过1054个赞
知道小有建树答主
回答量:1298
采纳率:100%
帮助的人:1001万
展开全部
1、确认你的其他的*.pl文件也在其他服务器上有部署;
2、确认文件的路径是否一致,字符大小写,以及引用的是绝对还是相对路径;
3、如果排出上述问题,那么重新在新服务器上直接本地也做一个pm运行试试看
追问
感谢帮助!
1、其他的pl文件在另外的服务器上有,这个可以确定
2、这个也可以确定...
3、这个意思是直接做个pm包做测试?
另外这个是否是开发环境配置的原因?
追答
有怀疑的,但是试验过了才知道阿
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式