我几乎没有Perl经验,所以非常感谢任何帮助。如果我没有在问题中提供明确的信息,我很抱歉,因为我没有编程背景。
我有一个解析文本文件的脚本,检查文本文件中的一定数量的数据点,然后输出数据点数#= X"。我可以让它在单个文本文件上运行,我可以将它输出到一个很棒的文本文件。
但是,我需要在138个文本文件中解析和分析数据,所有这些都在一个目录中。我想知道如果不是运行这个单独的脚本138次,我可以修改脚本转到目录,在其中的每个文件上运行,并将结果一起输出到文本文件中。
我没有编写原始脚本,我继承了它,并且几乎没有设法弄清楚如何让它在单个文本文件上运行。
答案 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);