需要使用perl搜索并替换相同扩展名的多个文件中的字符串。
我正在使用此代码,但无法正常工作。谁能帮忙。
#!/usr/bin/perl
use strict;
use warnings;
use English;
use Tie::File;
my $string2 = 'li role="prep" class="active"'; #old string
my $string3 = 'li role="presentation"'; #new string
my $string6 = 'div role="tabpanel" class="tab-pane active" id="documentation"'; #old string
my $string7 = 'div role="tabpanel" class="tab-pane" id="documentation"'; #new string
my $quoted_substring = quotemeta($string2);
my $quoted_substring2 = quotemeta($string6);
my $dir = 'C:\Users\vkpal\Desktop\New_Report';
foreach my $fp (glob("$dir/*.html")) {
chomp($fp);
printf "%s\n", $fp;
open my $fh, "<", $fp or die "can't read open '$fp': $OS_ERROR";
while (<$fh>) {
#printf " %s", $_;
s/$quoted_substring/$string3/g;
s/$quoted_substring2/$string7/g;
}
close $fh or die "can't read close '$fp': $OS_ERROR";
}
我正在使用上面的代码,但它没有替换字符串。任何人都可以在这里取悦我。