One alternative approach is to watch the log of the FTP server to see if the transfer has completed. This would require clever use of File::Tail and possibly the Net::FTPServer::XferLog modules.
in reply to Determine when file is done being written?
The net result of this would be an event-driven methodology (dostuff() to a file when it is transfered in) as opposed to the polling methodology that you're using now.
Not that there's anything wrong with polling. As I say, it's just an alternative. Frankly, I'd be more inclined to do as you are, with the modifications suggested by Weasle.
Hope this helps!
-><- -><- -><- -><- -><-
All things are Perfect
To every last Flaw
And bound in accord
With Eris's Law
- HBT; The Book of Advice, 1:7