use strict;
my $str = '05 del 07 del 2000 del 09 hhggh" #example 0 - Not modify!
04 del 05 del 07 del 2000" #example 1 - Not modify!
04 05 del 06 de 200" #example 2 - Yes modify!
04 05 del 06 de 20076 55" #example 3 - Yes modify!';
my $regex = qr/(?P<startDay>\d{2})[\s|](?P<finishDay>\d{2})[\s|](?:del|de[\s|]el|de )[\s|](?P<month>\d{2})[\s|](?:del|de[\s|]el|de)[\s|](?P<year>\d*)/mp;
my $subst = '\\g<startDay> \\g<finishDay>-\\g<month>-\\g<year>';
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