#!/usr/bin/perl -w use strict; my $literal_tag= "literal"; { local undef $/; for () { # tag version, the && version would be even simpler # s{&&&(.*?)&&& }{xml_escape($1)}ges; s{<\s*$literal_tag\s*>(.*?)<\s*/\s*$literal_tag>} {xml_escape($1)}geso; print; } } sub xml_escape { my $literal= shift; $literal=~ s/&/&/g; $literal=~ s/

A regular para

there you put the code you want, including & and <> and all