I needed a file select dialog, which there are plenty of in Tk, but needed to select via FTP. I had a crude solution hacked together using an HList, but then noticed Tk::RemoteFileSelect. Cool! Except that T::RFS requires you to log in to the FTP server to select the file, but the user/password are not persistent so you have to make the user log in again to get or put the file. As a quickie solution, I added a couple of global variables to the package, which get set when the ftp connection is made, then they are available after the dialog returns. A cleaner solution might be to add -(ftp|user|password)variable => \$variable
options to the constructor, and an email is off to the author to see if he's open to that.
Before finding out about T::RFS, I was leaning toward making a generic RFS, which didn't necessarily rely on FTP, but had generic get_files and change_directory type functions that you could maybe pass in, but now I'm not so inclined since, as they say in Go Fish, 'I got what I wanted' :)