【发布时间】:2010-12-21 06:55:35
【问题描述】:
我以前从未真正接触过 perl,所以我真的希望,这是一个真正的新手问题,我可以很快解决这个问题......
我们在 Windows 2003 服务器环境中安装了一个基于 perl 的 Web 应用程序。安装的版本包含一个错误,我知道 哪里 应用补丁。基本上:我已经仔细更改了其中一个网络应用程序 pm 文件中的两行。
令我惊讶的是,文件更改被忽略了,我仍然收到相同的错误消息,其中引用了旧版本的文件 - 可以通过行号清楚地识别。
我已经清除了浏览器缓存,重新启动了 Web 应用程序(包括 apache)——不走运。
现在我认为/希望这是某种 perl 功能,但我什至对这种语言了解得不够多,无法向 google 提出正确的问题。 One tutorial 说,perl 是一种解释性语言,对源文件的更改会立即生效。这不适用于我的网站...
是否有更多的缓存/文件我必须触摸或删除才能使我的更改生效?
【问题讨论】:
-
“一个教程说,perl 是一种解释性语言,对源文件的更改会立即生效。这对我的站点来说不是真的......”这不是真的.改变源代码不会改变你的程序——Perl 可以自我感知(open+0;),但不能自我修改(很容易,无论如何)。一旦代码被编译成操作码,源代码就不再重要了。 -
@Hugmeir - 可能是一个提示 - 也许这个文件的 编译 版本在某处缓存/加载/存储?我可以找到并删除它吗?
-
我在说我的地盘,所以把所有的东西都用一大粒盐,但我不这么认为。停止服务器和/或 Perl 解释器应该会使那些“缓存”版本消失。不过,这可能不适用于网络服务器。也许您可以重新标记问题?
-
@Hugmeir - 我在 hackstay 中找到了针 - 是的,它很痛 ;) 请参阅下面的 cw 答案。
-
Perl 通常不会将编译后的二进制文件存储在磁盘上。有一个实验模块可以让你这样做,但最后我听说它非常不稳定,不建议日常使用。
标签: perl