File::Copy doesn't do directories. It also doesn't respect execution bits. What it does do is copy faster than cp. (And, you can increase that speed to the max your hardware can handle.)
in reply to File::Copy versus cp/mv
I have wrapped around File::Copy to meet the needs of the application I work with, handling directories and copying to a temp-name, then moving, so as to only have the name appear when the file is fully copied. (500M over a network can be less than instantaneous, but File::Copy does help.)
We are the carpenters and bricklayers of the Information Age.
The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6
Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.