use strict;
my $str = '<strong><A NAME="Bondeupproret"></A>Andersson, Per,</strong> Bondeupproret i Skåne 1811 / Per Andersson, Arne Ribnell. – [Ny, utökad uppl.]. – Malmö, 1996. – 12 s.
<p><strong><br />Andersson, Per,</strong> Litteratur om Svedalatrakten. – Malmö[?], 197-. – 6 bl.
<p><strong><br /><A NAME="borgar_slott"></A>Andersson, Per,</strong> Skånska borgar, slott och herrgårdar. – Lund, 1996. – 212 s.
<p><strong><br /><A NAME="Skånska_kyrkor"></A>Andersson, Per,</strong> Skånska kyrkor, kapell, kloster och andra kyrkliga byggnader. – Malmö, 1985. – 254 s.
<p><strong><br /><A NAME="Att_läsa"></A>Ericsson, Acke,</strong> Att läsa om Sturup. // SkNK. – 1973, h. 1, s. 37-40.
<br />Urval ur Acke Ericssons bibliografi, se nedan.
<p><strong><br /><A NAME="Sturup"></A>Ericsson, Acke,</strong> Sturup. – Malmö, 1973. – 24 bl.
<p><strong><br />Jönsson, Knut,</strong> Anteckningar till en bibliografi över Bara kommun. – Borås, 1975. – 76 bl.
';
my $regex = qr/(?:<[pP]>)?(?:<strong>)(?:<br \/>)?(?:<[aA]\s\w+="([?0-9–\-\/\wÅåÄäÖö;,.()\[\]&\s]+)">(?:<\/[aA]>)?)([?0-9–\-\/\wÅåÄäÖö;,.()\[\]&\s]+)(?:<\/strong>)([?0-9–\-\/\wÅåÄäÖö;,.()\[\]&\s]+)/mip;
my $subst = '<p><strong><a name="$1">$2</a></strong>$3</p>';
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