gpt4 book ai didi

Perl:如何从 while 循环内将一行打印到文件?

转载 作者:行者123 更新时间:2023-12-01 17:27:48 24 4
gpt4 key购买 nike

我有一个非常基本的 Perl 脚本,它在匹配搜索模式后打印文本文件中的下一行。

@ARGV = <dom_boot.txt>;
while ( <> ) {
print scalar <> if /name=sacux445/;
}

这有效,但是我想将输出捕获到文件中以供进一步使用,而不是将其打印到STDOUT。我刚刚学习(慢慢地)所以尝试这样做:

my $fh;
my $dom_bootdev = 'dom_bootdev.txt';

open ($fh, '>', $dom_bootdev) or die "No such file";

@ARGV = <dom_boot.txt>;
while ( <> ) {
print $fh <> if /name=sacux445/;
}

close $fh;

但是我收到语法错误。

syntax error at try.plx line 19, near "<>"

我正在努力解决这个问题。我猜这可能非常简单,因此我们将不胜感激。

谢谢,卢克。

最佳答案

Perl 解析器有时会出现间接表示法问题。处理它的规范方法是将句柄包装到一个 block 中:

print {$fh} <> if /name=sacux445/;

您确定要删除 scalar

关于Perl:如何从 while 循环内将一行打印到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41040808/

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