use strict;
my $str = '("197 STATION ROAD, KINGS HEATH, BIRMINGHAM B14 7TB",52.434992,-1.8990985)
(\\"9-12, BOW STREET, LONDON, WC2E 7AH\\",51.5136001,-0.1229336)
(\\"14 STATION ROAD, LONDON SE20 7BQ\\",51.41886,-0.0545021)';
my $regex = qr`\(\\?\"(\d{1,3}-?\d{1,3}?)[,|\s](.*,?.*?,?.*?\s)([A-Z0-9]{3,4}\s[A-Z0-9]{3})\\?\"?,([0-9]{1,3}.[0-9]{3,9}),([-|+|\s]?[0-9]{1,3}.[0-9]{3,9})\)`mp;
my $subst = '$1,$2 - $3 - [$4],[$5]';
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