According to the docs, it's... not really covered.
If the destination already exists and is a directory, and the sour
+ce
is not a directory, then the source file will be renamed into the
directory specified by the destination.
There's a bunch of comments in the module code itself that deals with a broken NFS mount - which at least implies that it should work for moving between mounted dirs. According to my own tests, it does not:
ben@Tyr:/tmp$ mount|grep home
/home on /chroot/home type none (rw,bind)
ben@Tyr:/tmp$ mkdir test; perl -MFile::Copy -we'move("test", "/chroot/
+home/test") or die "test: $!\n"'
mkdir: cannot create directory `test': File exists
test: Is a directory
It also fails - in a rather ugly manner - when you try to move an existing directory into another existing directory:
ben@Tyr:/tmp$ mkdir test test1; perl -MFile::Copy -we'move("test", "te
+st1") or die "$!\n"'; ls -lR test test1
ls: cannot access test: No such file or directory
test1:
total 0
In other words, "test" just got wiped out. Not moved, or copied, or even died with an error message - just wiped out. I'd suggest filing a bug report.
--
Language shapes the way we think, and determines what we can think about."
-- B. L. Whorf
|