У меня есть XML-файл в строковой переменной ($data
) и хэш, содержащий все имена тегов и их содержимое (%field_list
).
Необходимо проверить имена тегов, чтобы, если они являются перечисляемыми полями, их содержимое заменялось строками.
Кто-нибудь знает, возможно ли это сделать с помощью поиска и замены? Сейчас мне не очень везет.
foreach my $field (sort keys %field_list)
{
my $value = $field_list{$field};
# will return a non-empty string if field is enumerated and value is valid
my $enum_string = &convert_enumeration_to_string($field, $value);
if ($enum_string ne "")
{
#syntax error
$data =~ s/<($field)>($value)</($field)>/<($field)>($enum_string)</($field)>/g;
}
}
Кто-нибудь знает, могу ли я что-то сделать или мне нужен совершенно другой подход?