use strict;
my $str = ' <text xml:lang="en">"Insert Swab to Start Analysis"</text>
<text xml:lang="es"></text>
<text xml:lang="fr"></text>
<text xml:lang="de"></text>
<text xml:lang="pt"></text>
<text xml:lang="du"></text>';
my $regex = qr~(<text xml:lang=")en">(.+?)(</text>)\R \1es">\3\R \1fr">\3\R \1de">\3\R \1pt">\3\R \1du">\3~mp;
my $subst = '<en>\\2</en>\\r\\n <es>\\2</es>\\r\\n <fr>\\2</fr>\\r\\n <de>\\2</de>\\r\\n <pt>\\2</pt>\\r\\n <du>\\2</du>';
my $result = $str =~ s~$regex~$subst~rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html