Now Christmas is over I am returning to my problem of editing word documents with Perl to replace existing
single characters or strings in Word documeents.
Several Monks gave very helpful comments that have allowed me to progress.
However I cannot get ‘ticks’ and other wingding symbols in my altered word document,
I like using the Perl lines
$search-> {Text} = $oldtext; $replace-> {Text} = $newtext; $search-> Execute({Replace => wdReplaceAll});
since these preserve the font (and all other characteristics) of the characters that are identical to whatever is in $oldtext.
I also am comfortable with using definitions of the old text such as "\x{00BD}".
The problem comes with any characters from wingdings.
As a test I created a Word document that contained only a ‘pencil’ pointing from top right to bottom left.
According to Word, this has a hex value of 0021. I then used the following three lines of Perl hoping to get the next wingding characters (scissors)
$search-> {Text} = "\x{0021}"; $replace-> {Text} ="\x{0022}"; $exec_res = $search-> Execute({Replace => wdReplaceAll});
$exec_res returned a value of 0 and the replacement had failed.
Searching the net I found a site (http://www.alanwood.net/demos/wingdings.html) that was headed
Wingdings character set and equivalent Unicode characters.
This showed that the Unicode Hex values for the pencil and scissors are U+270F and U+2702 respectively.
Therefore I altered the search and replace lines to
$search-> {Text} = "\x{270F}"; $replace-> {Text} = "\x{2702}";
and as this did not work even tried
$search-> {Text} = 'U' . "\x{270F}"; $replace-> {Text} ='U' . "\x{2702}";
which also failed. How can I overcome this failure?

In my net searches I have found other instances where people have had problems with wingding and similar characters. Sadly none of these gave the answer I was looking for.

In reply to Perl Word and Wingdings by merrymonk

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.