use strict; use warnings; sub date { my @d = localtime (shift || time); sprintf "%4d-%02d-%02d %02d:%02d:%02d", $d[5] + 1900, ++$d[4], @d[3,2,1,0]; } # date open my $fi, "<", "C:/Users/li/perl/part1.txt" or die "File not found"; open my $fo, ">", "C:/Users/li/perl/part1_CORRECTED.txt" or die "Cannot create output: $!"; while (<$fi>) { s/\b([0-9]{10})\b/date ($1)/ge; print $fo $_; } close $fi or die $!; close $fo or die $!;