поиск и обновление строки во всех файлах с использованием perl - PullRequest
0 голосов
/ 10 апреля 2019

Необходимо найти и заменить строку в нескольких файлах с одинаковым расширением, используя 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";

}

Я использую приведенный выше код, но он не заменяет строку.Может ли кто-нибудь порадовать меня здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...