sub escape { my ($s) = @_; for ($s) { die "\"$1\" can't be produced by aXML safely" if /(&(?:lab|rab|lcb|rcb|lsb|rsb);)/; s/\/&rab;/g; s/\(/&lcb;/g; s/\)/&lcb;/g; s/\[/&lsb;/g; s/\]/&rsb;/g; return $_; } }