#!/usr/bin/perl use warnings; use strict; for (my $i = 1; $i <= 10000; $i++) { open (F1, ">:encoding(UTF-8)", "rename1.txt") or die "Can't open file1: $!"; open (F2, ">:encoding(UTF-8)", "rename2.txt") or die "Can't open file2: $!"; print F1 "File one"; print F2 "File two"; close F1; close F2; # unlink "rename2.txt"; # error occurs even if you unlink the file first, although less often rename ("rename1.txt", "rename2.txt") or die "Can't rename file: $!"; print "loop $i done\n\n"; }