我正在使用 URI :: Escape 包。通常,我可以通过命名来直接调用函数,例如uri_unescape('some text')但实际上我得到了AH01215:未定义的子程序& MyFunctions :: uri_unescape被称为......
这发生在我自己的包('MyFunctions')中。我得到了使用URI :: Escape行。当我使用& URI :: Escape :: uri_unescape时,似乎工作正常。但我只是不明白为什么它在我的包中寻找这个子程序...
有人可以向我解释一下吗?有什么方法可以解决这个问题吗?每次调用此函数时,我真的不想写这个整个package-name :: funktion:/
答案 0 :(得分:2)
子例程被导入到当前名称空间中。您必须在use
声明之后放置package
行:
package MyFunctions;
use URI::Escape;
否则,函数将导入到先前的命名空间中,在您的情况下可能是main
(您可以通过运行main::uri_unescape()
进行验证。