我不是一个 perl/程序员,但我遇到了一些可以用 perl 脚本解决的问题。
我想搜索服务器自动输出的多个 XML 文件。该软件使用时间戳命名文件,这使得事先很难知道文件的名称,但我确实知道它们所在的文件夹。
如何使此代码搜索文件夹中的每个文件并查找特定字符串,例如 *.xml?
这是我一直在使用的代码,它需要一个文件名,并且字符串搜索功能有效:
#!/usr/bin/perl
use warnings;
use strict;
my $file;
for $file (@ARGV) {
# print "\n -----\n";
my $lines = slurp($file);
# print " File contains:\n$lines";
print "\n";
if ( $lines =~ /false/ ) {
print " Searched for string 'false' in @ARGV";
print "\n";
print " String found!\n";
}
else {
print " Searched for string 'false' in @ARGV";
print "\n";
print " No hit!\n";
}
}
sub slurp {
my ($file) = shift;
my ($f);
open( $f, "<", $file ) || die " Can't open file $file, quitting.\n";
my $scalar = do { local $/; <$f> };
return $scalar;
}
exit(0);
谢谢!