Dear fellows, I use the Net::FTP module to retrieve files from a mainframe machine. Since the provider changed, timeouts occur during communications, here during an getfile via FTP. The code is nothing special, straight from the pod:
use Net::FTP; ... $ftp->get("that.file"); ...
I get the following message when I turn FTP debug on:
Net::FTP=GLOB(0x??????)>>> PORT xxx,xxx,xxx,xxx,198 Net::FTP=GLOB(0x??????)<<< Port request OK. Net::FTP=GLOB(0x??????)>>> RETR FFFFF.XXX Net::FTP=GLOB(0x??????)<<< 125 Sending data set xxx.xxx.xxx Timeout at ... Net/FTP.pm line 471 Net::FTP=GLOB(0x??????)>>> QUIT Net::FTP=GLOB(0x??????)<<< 250 Transfer completed successfully
How do I handle the Timeout error?

Net::FTP seems to have no code to deal with it. I had a short look at the underlying modules Net::Cmd, IO::Socket etc, but could not even find, where the Timeout method is generated.

As there is conversion between the mainframe and the windows client it is not easy to check filesizes to decide, wether the download retrieved the complete or just part of the file.

Any hints, links, tips or help? I use ActiveState Perl 5.6.1 on a W2K machine.

And it came to pass that in time the Great God Om spake unto Brutha, the Chosen One: "Psst!"
(Terry Pratchett, Small Gods)


In reply to How to catch Net::FTP timeouts ? by Brutha

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.