У меня есть этот код
#!/usr/bin/perl
use warnings;
use strict;
my %map;
open my $MAP, '<', 'full_links' or die $!;
while (<$MAP>) {
my ($key, $value) = /comments\/(.*)\/(.*)\//;
$map{$key} = "$key/$value";
}
open my $IN, '<', 'html_links' or die $!;
open my $out, '>', "results" or die;
while (<$IN>) {
s/comments\/(.*)"/comments\/$map{$1}\/"/g;
print $out $_;
}
close $out;
, который изменяет строки в файле html_links
с <a href="https://reddit.com/r/subreddit/comments/CODE/">title</a>
на <a href="https://reddit.com/r/subreddit/comments/CODE/title_of_the_post/">title</a>
путем просмотрав файле full_link он заполнен такими строками:
https://reddit.com/r/subreddit/comments/CODE/title_of_the_post/
Но я чувствую, что это выглядит немного странно. В частности, часть $map{$key} = "$key/$value";
и ее дальнейшее использование при замене. Я чувствую, что достаточно просто сделать $map{$key} = $value
, но я не знаю, как его использовать для замены, которая мне нужна.