У меня очень распространенная ситуация. У меня есть файл, и мне нужно полностью перезаписать этот файл новым содержимым. Тем не менее, исходный файл доступен при каждой загрузке страницы (это веб-приложение), поэтому он не может отсутствовать очень долго. Несколько мс в порядке (хотя и не идеально), секунда не в порядке.
Сейчас я делаю это, записывая временный файл в тот же каталог, а затем переименовывая этот временный файл в имя нового файла. Я просто использую обычный File :: Temp и «переименование» для этого в Perl. Мне было интересно - есть ли другой рекомендуемый / лучший способ сделать это? Предпочтительно тот, который не требует модуля CPAN, так как это единственное место в моей системе, где мне нужно это делать, и я не хочу, чтобы для этого была совершенно новая зависимость.
О, и все это должно работать на Windows, Linux, BSD, OS X, Solaris и большинстве других распространенных платформ.
Вот код вопроса , для тех, кто заинтересован.