gpt4 book ai didi

perl - 一次读取一个 ARGV 文件

转载 作者:行者123 更新时间:2023-12-02 05:38:04 24 4
gpt4 key购买 nike

我希望用 ARGV 指定的每个(小)文件在其自己的数组中读取。如果我不测试 $ARGV , <>将把所有文件放在一个表中。有更好/更短/更简单的方法吗?

# invocation: ./prog.pl *.txt

@table = ();
$current = "";
while (<>)
{
if ($ARGV ne $current)
{
@ar = ();
$current = $ARGV;
if ($current)
{
push @table, \@ar;
}
}
push @ar;
}

最佳答案

eof 函数可用于检测每个文件的结尾:

#!/usr/bin/env perl

use strict;
use warnings;

my @files;
my $file_ctr = 0;
while (<>) {
chomp;
push @{ $files[$file_ctr] }, $_;
}
continue { $file_ctr++ if eof }

相关文档:

In a while (<>) loop, eof or eof(ARGV) can be used to detect the end of each file, whereas eof() will detect the end of the very last file only.

关于perl - 一次读取一个 ARGV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11723108/

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