在Perl中 - 需要修改脚本来解析目录中的所有文件

时间:2015-03-07 17:53:40

标签: perl directory

我几乎没有Perl经验,所以非常感谢任何帮助。如果我没有在问题中提供明确的信息,我很抱歉,因为我没有编程背景。

我有一个解析文本文件的脚本,检查文本文件中的一定数量的数据点,然后输出数据点数#= X"。我可以让它在单个文本文件上运行,我可以将它输出到一个很棒的文本文件。

但是,我需要在138个文本文件中解析和分析数据,所有这些都在一个目录中。我想知道如果不是运行这个单独的脚本138次,我可以修改脚本转到目录,在其中的每个文件上运行,并将结果一起输出到文本文件中。

我没有编写原始脚本,我继承了它,并且几乎没有设法弄清楚如何让它在单个文本文件上运行。

2 个答案:

答案 0 :(得分:0)

你也可以这样做。

my @files = </path/where/files/are/*>;

foreach my $file (@files) {
    print "working on $file...\n"
    # do stuff with $file;
}

答案 1 :(得分:-1)

如果您的问题是在同一目录中打开138文件,您可以使用&#34; opendir&#34;逐个打开。 function,打开ALL FILES并打印所有行的脚本示例:

#!/usr/bin/perl
use strict;
use warnings;

my $directory = '/tmp';

opendir (DIR, $directory) or die $!;
    while (my $file = readdir(DIR)) {
        print "$file\n";
    open (FILE, $file) or die $!;
    while (<FILE>) {
        print $_;
        }
}
closedir(DIR);