Yes, well... did you read the explaination of what the ls() method does?
Let me help you out....
$sftp->ls($remote [, $subref ])
Fetches a directory listing of $remote.
If $subref is specified, for each entry in the directory, $subref will
+ be called and given a reference to a hash with three keys: filename,
+ the name of the entry in the directory listing; longname, an entry i
+n a "long" listing like ls -l; and a, a Net::SFTP::Attributes object,
+ which contains the file attributes of the entry (atime, mtime, permi
+ssions, etc.).
If $subref is not specified, returns a list of directory entries, each
+ of which is a reference to a hash as described in the previous parag
+raph.
So.... all you do is call ls() on your remote directory, and then test whether or not $subref->{'yourfile'} exists. If it does, download it - if it doesn't, um.. don't.
What about that can't be automated?
(PS. I may not have that usage exactly correct - but if you've been able to write the script in the first place, I'm sure you can figure out the correct usage) |