use Win32::OLE; use File::stat; open(CSV, "c:/temp/doctime.txt"); #csv of filename , date @title = ; for ($i = 0; $i < scalar(@title); $i++) { ($file1[$i], $date[$i] $blank[$i]) = split(",", $title[$i]); } for ($a = 0; $a < scalar(@file1); $a++) { $access=$date[$a]; $filez = $file1[$a]; print "File name # $filez\n"; print "Previous date # $access\n"; utime $access, $access, $filez || die print "couldn not set utime for $filez\n"; }