use POSIX 'strftime'; my $today = strftime '%d%m%Y', localtime; # assume filename is in $name $name =~ s/(\.\w+)$/$today$1/;