sub alter_file { open(HANDLE1, ">/some/tmp/file"); ...write to HANDLE1... close(HANDLE1); rename("/some/tmp/file", "file"); }