gpt4 book ai didi

perl:打开文件句柄,写入其中,稍后给它命名?

转载 作者:行者123 更新时间:2023-12-04 06:18:09 31 4
gpt4 key购买 nike

我想我已经在某处阅读了如何执行此操作,但我找不到在哪里。也许只有在新的(大概)版本的 Perl 中才有可能。我正在使用 5.14.2:

我有一个 Perl 脚本,如果满足某些条件,它会将结果写入文件。考虑到脚本的结构,写下结果并在稍后检查是否满足将结果保存到文件中的条件是更合乎逻辑的。

我想我在某处读到我可以将内容写入文件句柄,我猜在 Linux 中它对应于一个临时文件或某种管道,然后为该文件命名,包括所在的目录应该是,以后再说。否则,脚本完成时内容将被丢弃。

除了绕过临时文件并手动删除它们之外,在 Perl 中是否有一种直接的方法可以做到这一点?

最佳答案

您所描述的内容没有简单的 (UNIX) 功能,但行为可以由基本系统操作组成。 Perl 的 File::Temp 已经做了大部分你想要的:

use File:Temp;

my $tmp = File::Temp->new; # Will be unlinked at end of program.

while ($work_to_do) {
print $tmp a_lot_of_stuff(); # $tmp is a filehandle
}

if ($save_it) {
rename($tmp, $new_file); # $tmp is also a string. Move (rename) the file.
} # If you need this to work across filesystems, you
# might want to ``use File::Copy qw(move)'' instead.

exit; # $tmp will be unlinked here if it was not renamed

关于perl:打开文件句柄,写入其中,稍后给它命名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17952788/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com