Я новичок в Perl, и у меня есть вопрос о регулярных выражениях.
Цель сценария, над которым я работаю, состоит в том, чтобы заменить строку другой в файле XML. Эти строки находятся в текстовом файле, который выглядит следующим образом:
mot-clé, mot clé
noeud, nœud
version (\d), version (\d)
Codename One, Codename One
Сценарий берет каждую строку этого файла и помещает их в хеш-таблицу, а затем ключ заменяется его значением:
# Open file text and recupration of the lines in a table @t
%hach = @t;
foreach my $k (keys(%hach)) {
s/$k/$hach{$k}/sg;
}
Замены сделаны в XML-файле. Например, перед запуском скрипта он выглядит так:
<title>Codename One</title>
<para>Le mot-clé de la version 3 .....</para>
<para> .... noeud .... </para>
Мне бы хотелось, чтобы после прохождения скрипта это выглядело так:
<title>Codename One</title>
<para> Le mot clé de la version 3 .....</para>
<para> .... nœud .... </para>
В данный момент подстановка выполняется для "обычных" строк, но не для строк, содержащих регулярное выражение. Для этих строк я хотел бы, чтобы perl интерпретировал символы, связанные с регулярным выражением. Затем скрипт сможет сделать все замены.
Вот мой вопрос: может ли Perl интерпретировать эти строки как регулярные выражения? И если это возможно, то как?
Заранее спасибо!