如何在perl中获得唯一的文件名

发布于 2024-12-07 20:58:30 字数 89 浏览 0 评论 0原文

我想在一个目录中创建许多小文件,这些文件具有来自多个进程的唯一名称。理论上文件名可能是相同的,那么我该如何解释呢?我应该使用什么模块来实现此目的?文件应该被持久化。

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

寄居者 2024-12-14 20:58:30

您可能想使用 File::Temp 来实现此目的。

($fh, $filename) = tempfile($template, DIR => $your_dir, UNLINK => 0);

You probably want to use File::Temp for that.

($fh, $filename) = tempfile($template, DIR => $your_dir, UNLINK => 0);
昇り龍 2024-12-14 20:58:30

要使用的包是 File::Temp

The package to use would be File::Temp.

初见你 2024-12-14 20:58:30

向每个文件附加时间戳,最多到毫秒:

#!/usr/local/bin/perl
use Time::HiRes qw(gettimeofday);

my $timestamp = int (gettimeofday * 1000);
print STDOUT "timestamp = $timestamp\n";
exit;

输出:

timestamp = 1227593060768

Append a timestamp to each file, up to the millisecond:

#!/usr/local/bin/perl
use Time::HiRes qw(gettimeofday);

my $timestamp = int (gettimeofday * 1000);
print STDOUT "timestamp = $timestamp\n";
exit;

Output:

timestamp = 1227593060768
楠木可依 2024-12-14 20:58:30

如果没有任何模块,您可以使用如下所示的内容: time() 。 “_”。兰特()

Without any modules you could use something like this: time() . "_" . rand()

丑疤怪 2024-12-14 20:58:30

$$ 包含正在运行的 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文