#!/usr/bin/perl -w use strict; my $incoming_xml = ' name pass&word '; print $incoming_xml; print "\n==============\n"; $incoming_xml =~ s/(]*>)(.*)(<\/FIELD>)/$1.&html_transliterate($2).$3/eg; print $incoming_xml; exit; sub html_transliterate{ my $in_str = shift; $in_str =~ s/&/!38/g; $in_str =~ s//!41/g; return $in_str; } #### name pass&word ============== name pass!38word !40do_what!41