Преобразование текста с помощью Perl Hash - PullRequest
0 голосов
/ 11 июля 2019

Я хочу выполнить какое-либо преобразование текста, чтобы преобразовать следующий фрагмент текста:

dog<link rel="stylesheet" href="ww.css"><h2>food</h2> a cat <h2>water</h2>
</>

Хотя исходный формат такой: (вышеупомянутый измененный формат предназначен для более легкого вывода кода Perl.):

dog
<link rel="stylesheet" href="ww.css"><h2>food</h2> a cat <h2>water</h2>
</>

до:

dog<link rel="stylesheet" href="ww.css"><h2>food</h2> a cat <h2>water</h2>
</> 
food
@@@LINK=dog
</>
water
@@@LINK=dog
</>

В основном мне нужно извлечь значение h2 - food и water и сделатьони ссылаются на оригинальное слово, в данном случае dog.

Я использую Perl для этого:

use strict;
use warnings;

use feature ':all';
open(DICT, "<", "a");
while(<DICT>){
    my %h;
    my $hw=$1  if /(^.*$)(?=<link rel)/;
    while (m/<subject-area>(.*?)<subject-area>/g) {
        $h{$1}=$hw;
    }

    print "$_";
    for my $key (keys %h) {
        print "$key\n\@\@\@LINK=$h{$key}\n</>" 
    };

}

Но этот код Perl печатает точное содержимоекак предыдущий.

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