Use the encode_entities function from the HTML::Entities module:
use HTML::Entities; my $text = ...; my $encoded_text = encode_entities($text);
If you want to force the use of numeric (hexadecimal) character references, you can use the encode_entities_numeric function.

The other issue is that you shouldn't be mixing text and entity encoded text in the same string. For instance, if you have a string with contents &, you should first decode that string so that it is represented by the single character string &. Then after you are done manipulating it, re-encode it to use entity references using the encode_entities function. From the way you describe your problem, it sounds like you could be running into this issue. If you describe more about how your XML is being generated, we can tell you if indeed this is the case or not.


In reply to Re: HTML escape char? by pc88mxer
in thread HTML escape char? by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.