Use File::Copy ... copy($a,$b) || die "$!"; #### open(INPUT, "<$a"); @data = ; close(INPUT); open (OUTPUT, ">$a"); flock(OUTPUT, 2); copy($a,$b) || die "$!";