如何在perl中获得唯一的文件名
我想在一个目录中创建许多小文件,这些文件具有来自多个进程的唯一名称。理论上文件名可能是相同的,那么我该如何解释呢?我应该使用什么模块来实现此目的?文件应该被持久化。
I want to create in a directory many small files with unique names from many processes. Theoretically filenames may be the same, so how do I account for that? What module I should use for this purpose? Files should be persist.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可能想使用
File::Temp
来实现此目的。You probably want to use
File::Temp
for that.要使用的包是 File::Temp。
The package to use would be File::Temp.
向每个文件附加时间戳,最多到毫秒:
输出:
Append a timestamp to each file, up to the millisecond:
Output:
如果没有任何模块,您可以使用如下所示的内容:
time() 。 “_”。兰特()
Without any modules you could use something like this:
time() . "_" . rand()
$$ 包含正在运行的 perl 程序的进程 ID。因此,它可以用在文件名中,以使它们至少在运行进程的实例之间是唯一的。
$$ contains the process id of the running perl program. Therefore it can be used in file names to make them unique at least between instances of the running process.