使用perl搜索和更新所有文件中的字符串

时间:2019-04-10 16:46:39

标签: perl

需要使用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";

}

我正在使用上面的代码,但它没有替换字符串。任何人都可以在这里取悦我。

0 个答案:

没有答案