I actually found a better way for my particular situation, that I surprisingly couldn't find in the monk's search setup:
my @file_name = split /\//, $i;
my $xfer_handle = $ftp->stor($file_name[-1]);
my $bytes_read = 0;
my $buffer = "";
my $bytes = 0;
my @file_info = stat($i);
sysopen(FILE, $i, 0);
binmode(FILE);
while (($bytes_read = sysread(FILE, $buffer, 1024)) != 0) {
$xfer_handle->write($buffer, $bytes_read);
$bytes = $bytes + 1024;
if ($bytes > $file_info[7]) { $bytes = $file_info[7]; }
print "wrote $bytes of $file_info[7] so far...\n";
}
my $check_xfer = $xfer_handle->close();
$xfer_handle->close() returns a 1 if the server reports a 2xx code. |