#!/usr/bin/perl -w use strict; use warnings; use 5.010; use autodie; use Time::Piece; use Time::Seconds qw/ ONE_MINUTE /; use constant DATE_FORMAT => '%Y%m%d%H%M%S'; my $n; my $directory="/home/tt/Doc/Auto"; opendir(DIR, $directory) or die "couldn't open $directory: $!\n"; my @files = readdir DIR; foreach (@files) { open my $in_fh, '<', $_; my @lines = <$in_fh>; close $in_fh; ++$n; $lines[0] =~ s/4947000219\K(4947000219+)/$1+$n/e; $lines[1] =~ s{:20140924105028\K(\d+)}{ my $tp = Time::Piece->strptime($1, DATE_FORMAT); ($tp + ONE_MINUTE * 2 * $n)->strftime(DATE_FORMAT); }e; my $backup = "$_.backup"; unlink $backup if -f $backup; rename $_, $backup; open my $out_fh, '>', $_; print $out_fh @lines; close $out_fh; } closedir DIR;