我有一个奇怪的问题File::Temp
:
我在 Linux 上的 Apache 中的 mod_perl 下运行我的 perl 脚本,Apache 与 worker mpm 一起运行。
my ($fh_error, $error)
= tempfile("error_XXXXXXXXXXXXXXXX",DIR => "/home/tmp", UNLINK => 1);
my ($fh_src, $src)
= tempfile("src_XXXXXXXXXXXXXXXX",DIR => "/home/tmp", UNLINK => 1, SUFFIX => ".html");
my ($fh_dst, $dst)
= tempfile("dst_XXXXXXXXXXXXXXXX",DIR => "/home/tmp", UNLINK => 1, SUFFIX => ".html");
大多数时候,一切似乎都很好,但时不时我会得到一些错误的文件名。我没有得到一个真正的随机文件名,而是得到了所有模板长度的相同字母。
例如
error_AAAAAAAAAAAAAAAA
src_AAAAAAAAAAAAAAAA
dst_AAAAAAAAAAAAAAAA
所有 3 个文件都具有相同的名称。除了这很奇怪(而且你永远不希望你的代码很奇怪)之外,我担心这可能会导致读取/写入同一个文件以针对不同的请求。