use strict; use File::Copy; use constant REPLACEMENT_FILE => 'replacer_file.html'; use constant DIRECTORY => 'C:/foo/'; opendir(FOO, DIRECTORY); my @file_list = grep /\.html?$/, readdir FOO; for my $file (@file_list) { unless ($file eq REPLACEMENT_FILE) { unlink(DIRECTORY . $file); #remove original copy DIRECTORY . REPLACEMENT_FILE, DIRECTORY . $file; #make copy of replacer & rename to original } } closedir FOO;