Это не имеет ничего общего с XML, анализом или их комбинацией.У вас есть переменная, которая содержит
this is sample data"
Вы хотите изменить эту переменную, чтобы она содержала
this is sample data\"
Вы можете экранировать каждый несловарный символ, используя quotemeta
my $s = 'this is sample data"';
my $escaped = quotemeta($s);
Вы можете экранировать только определенные символы (скажем, \
и "
), используя оператор подстановки.
my $s = 'this is sample data"';
( my $escaped = $s ) =~ s/(?=[\\"])/\\/g;
Perl 5.14 +:
my $s = 'this is sample data"';
my $escaped = $s =~ s/(?=[\\"])/\\/rg;