gpt4 book ai didi

perl - STDOUT 到数组 Perl

转载 作者:行者123 更新时间:2023-12-02 08:50:36 25 4
gpt4 key购买 nike

我正在编译一个 Perl 程序,我正在将输出 STDOUT 写入一个文件。在同一个程序中,我想在 STDOUT 的输出上使用 while 函数运行另一个小脚本。所以,我需要将第一个脚本的输出保存在一个数组中,然后我可以在 while<@array> 中使用。喜欢

open(File,"text.txt");
open(STDOUT,">output,txt");
@file_contents=<FILE>;

foreach (@file_contents){

//SCRIPT GOES HERE//

write;
}
format STDOUT =
VARIABLE @<<<<<< @<<<<<< @<<<<<<
$x $y $z
.

//Here I want to use output of above program in while loop //

while(<>){

}

如何将第一个程序的输出保存到数组中以便在 while 循环中使用,或者如何在 while 循环中直接使用 STDOUT。我必须确保第一部分完全执行。提前致谢。

最佳答案

由于您重新映射了 STDOUT 以便将其写入文件,因此您大概可以关闭 STDOUT,然后重新打开文件以进行读取。

将任何其他输出发送到哪里有点神秘,但大概您可以解决这个问题。如果是我,我不会摆弄 STDOUT。我会让脚本写入文件句柄:

use strict;
use warnings;

open my $input, "<", "text.txt" or die "A horrible death";
open my $output, ">", "output.txt" or die "A horrible death";
my @file_contents = <$input>;
close($input);

foreach (@file_contents)
{
# Script goes here
print $output "Any information that goes to output\n";
}
close $output;

open my $reread, "<", "output.txt" or die "A horrible death";

while (<$reread>)
{
# Process the previous output
}

注意词法文件句柄的使用,检查 open 是否有效,完成输入文件后的 closeuse strict 的使用; 使用警告;。 (我使用 Perl 才 20 年,我知道我不相信我的脚本,直到它们使用这些设置运行干净。)

关于perl - STDOUT 到数组 Perl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8815381/

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