Come for the quick hacks, stay for the epiphanies. | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
On the other hand, I know you happen to be (mainly) a Windows developer, and on that platform you can't rename an old file into an existing file. My recollection is that in the first "Windows" (aka "DOS"), you couldn't prevent ren nor copy from overwriting files (I recall being quite frustrated at not having "-i" and losing files as a result). In modern Windows (aka "Win32"), you are correct that "ren" refuses to overwrite files. However, "copy" and "move" both have the most sensible default IMO, they ask before overwriting. Though I find it a bit strange that "ren" refuses to overwrite files but "copy" and "move" can't be made to act the same. You can prevent "copy" and "move" from asking ("/y"), but if you do, they unconditionally and silently overwrite. As for programming APIs, my preference would be to allow the programmer to specify. Actually, I'd require the programmer to specify whether clobbering should done or an error should be returned. The API should allow this to be specified so that the operation can be done atomically. And I think no default behavior should be specified just to force the programmer to consciously make that decision, as there are cases where either behavior is inappropriate. - tye In reply to Re^2: A DWIM too far?
by tye
|
|