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.
In reply to Re: File::Copy and moving directories across volumes
by oko1
in thread File::Copy and moving directories across volumes
by creamygoodness
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |