【发布时间】:2011-02-25 23:23:42
【问题描述】:
这是我第一次在这里提出问题,如果我没有正确遵守任何约定,敬请见谅。
我在一些 Perl 代码中遇到了一个错误,该错误基本上丢失了 URL 中第一个名称-值对之后的所有参数,解决方案是在 URL 上使用 URI::Escape 函数。
在此更改之后,我决定将执行此操作的代码移动到 Perl 模块 (Utils.pm),以便将来的任何更改只需要在此文件中进行一次,而不必更新使用它的每个文件。
我似乎遇到的问题是 user、passwd 和 priv 变量似乎没有返回正确的值 - 系统仍然允许您登录,但它无法识别您的姓名或您拥有的权限.
下面是我认为与问题相关的代码的粘贴箱链接。
我相信这与参考有关,但我所做的任何更改都会破坏页面!
如果有人有任何想法,我将不胜感激。
【问题讨论】:
-
我会给你一些不请自来的建议,避免使用模块名称 Utils(以及 Tools)。命名为这个的模块通常会吸引不相关的代码,一旦代码在那里,它就永远不会移动到它所属的地方。如果您在需要添加第二个时向 Utils 模块添加一个日期格式化函数,您将在其中添加它。与第三或第六相同。从长远来看,最好创建 10 个窄范围模块,每个模块有一个功能,而不是一个通用模块有 10 个功能。