use File::Copy; my @list = ; foreach my $file(@list){ my $from = $_; chomp $from; (my $to = $from) =~ s/_valid1//g; move($from, $to) or die(qq{failed to move $from -> $to}); } #### 'Nov 4 08:00,/home/imanager/cppprod/del.csv' and 'Nov 4 08:00,/home/imanager/cppprod/del.csv' are identical (not copied) at Daily.txt line 80. Use of uninitialized value $atime in utime at c:/Perl/lib/File/Copy.pm line 393, line 1. Use of uninitialized value $mtime in utime at c:/Perl/lib/File/Copy.pm line 393, line 1. failed to move Nov 4 08:00,/home/imanager/cppprod/del.csv -> Nov 4 08:00,/home/imanager/cppprod/AR_LM.csv at Daily.txt line 80, line 1.