use strict;
my $str = '[[outlook:000000003730C053465F314590D066368CF3097B0700AAF83E03F96EDC42918E044642DEDDB3000013E2000E0000AAF83E03F96EDC42918E044642DEDDB3000013E2EFD30000][MESSAGE: RE: Subject of the Message (Sendername Senderfirstname) 2014-08-05 19:48]]
[[http:000000003730C053465F314590D066368CF3097B0700AAF83E03F96EDC42918E044642DEDDB3000013E2000E0000AAF83E03F96EDC42918E044642DEDDB3000013E2EFD30000][MESSAGE: RE: Subject of the Message (Sendername Senderfirstname) 2014-08-05 19:48]]';
my $regex = qr/(\[\[outlook:)([0-9A-Z]*)(\]\[)(.*)(\]\])/p;
my $subst = '[[path\\\\outlook\\\\\\2\\.msg\\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