Two ways. First off try to acquire an exclusive lock on the file. If you can get one then the FTP service has finished writing. Second way, repeatedly stat the file until it is a certain age old. 5-10 minutes should be OK but not absolutely failsafe. Third way, do both. :-)
Incidentally, the is no DOS (worth speaking of) on Win2k. Thank god. ;-) Normally we use the term 'shell' to refer to things like that. And i'm betting that the shell rename is waiting for a lock....
use Fctl;
my $canmove=0;
MOVE:{
open my $fh,$filename or last MOVE;
$canmove=flock $fh, LOCK_EX|LOCK_NB;
close $fh;
}
if ($canmove) {
Something like that should do the trick. (And yes people I am aware that this has holes if there are multiple processes running here. I am assuming this isn't the case, and that all he needs to know is that the MSFTP service has done with the file.)
--- demerphq
my friends call me, usually because I'm late....
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.