J'ai fait un regexp pour extraire les données ce trouvant dans des champs CDATA , comme vous le savez surement ces champs permettent d'insérer du code sans mettre les caractères réservés au XML sous forme d'entités. Je me suis donc naturellement orienté HTML::Entities pour passer les caracrères en entités.

voici mon regexp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$data =~ s/<(.*)><!\[CDATA\[(.*)\]\]><(.*)>/<$1> encode_entities($2) <$3>/gi
Mon problème c'est que la fonction encode_entities() ne s'execute pas

J'ai donc après avoir regardé du coté de perlretut j'ai fait cela

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$data =~ s/<(.*)><!\[CDATA\[(.*)\]\]><(.*)>/<$1>{?( encode_entities($2) )}<$3>/gi;
Mais la fonctions n'est toujours pas appelé !!!

merci !