【发布时间】:2016-02-12 20:27:25
【问题描述】:
我想在我的脚本A.pl 中使用在脚本B.pm(我不拥有)中定义的子例程。由于B.pm 中没有package pkg_B; 标头,因此当我在A.pl 中添加use B (); 时,将导入所有子例程。当我尝试运行A.pl 时,这会导致Subroutine redefined 警告,因为A.pl 有一个与B.pm 同名的子例程。有没有办法可以在不接触B.pm 的情况下将B.pm 的命名空间与A.pl 隔离开来(因为有许多其他脚本在没有指定范围的情况下公然使用B.pm 的子例程)?我唯一的解决方案似乎是重命名我不想这样做的子例程。
【问题讨论】:
-
Re "由于 B.pm 没有包 pkg_B; 头在里面" 嗯,有错误。
标签: perl namespaces require perl-module