in reply to Sync via FTP

e.g., if I have a /www/pics/2005/01 directory, and I delete the www/pics/2005 directory locally (no longer want to show those pics), I need to go into all the subdirs of www/pics/2005 and delete their contents so I can delete the directories, recursively, but in reverse order
Just as a starting point, I'd like to point out that you can implement the logic for the filesystem, with File::Find, if you just use the function finddepth. That function will call the callbacks first for the deepest nesting level, and handle the parent directory later.

So, perhaps you could reimplement File::Find but for working over Net::FTP, instead of on the local filesystem?