http://www.perlmonks.org?node_id=482496


in reply to Accessing mixed content in XML

Your XML should be like this:
<function name="showImage"> <data>A random picture</data> <argument><![CDATA[<img src="test.jpg">]]></argument> <argument>0</argument> </function>
Now the perl code:
#!/usr/bin/env perl use strict; use warnings; use XML::Simple; use Data::Dumper; my $ref = XMLin(\*DATA); print Dumper $ref; __DATA__ <function name="showImage"> <data>A random picture</data> <argument><![CDATA[<img src="test.jpg">]]></argument> <argument>0</argument> </function>
The results:
$VAR1 = { 'argument' => [ '<img src="test.jpg">', '0' ], 'name' => 'showImage', 'data' => 'A random picture' };

You can read more about XML specs here or searching in Google.

Update:If you use XML::Simple to create the XML file, it will automagically convert ">" or "<" to &gt; and &lt;.


Igor S. Lopes - izut
surrender to perl. your code, your rules.