Subject: | Behavour of MDTM command |
Hi,
I'm currently developing a FTP client based on Net::FTP v2.75. I have an
issue with a FTP server running on MacOS X. I need to find out the MDTM
times of the files stored on this server, however as soon as I try to
determine this value I get the following error:
Hour '70' out of range 0..23 at /usr/lib/perl5/5.8.8/Net/FTP.pm line 212
Digging into the FTP.pm module, I found the reason for this, the FTP
server is kinda broken and returns the following mtdm string:
2010101217022933
Which should normally be: 20101217022933
For whatever reason the server puts an additional "10" after the year,
which in turn confuses Net::FTP's MDTM command and aborts my script.
I have no chance to ask the system administrator to fix this.
Unfortunately the Net::FTP module die()s when trying to convert this
broken string with timegm(), and I have no idea how to instruct perl not
to die() on that.
Maybe the MDTM code should be changed so that the caller has the chance
to surround it with an eval() block, so that the caller can react itself
on possible errors and allows to continue running the script with proper
error handling.
For now I'll implement a workaround for this (having my own MDTM
method), however this would be really helpful if the code won't
terminate but instead issue a warning.
Version infos:
OS: Enterprise Linux Enterprise Linux Server release 5.2
Kernel: Linux sadtextdev 2.6.18-92.el5 #1 SMP Fri May 23 23:40:43 EDT
2008 x86_64 x86_64 x86_64 GNU/Linux
Perl: This is perl, v5.8.8 built for x86_64-linux-thread-multi
Mod: Net::FTP V2.75
Anyway thanks for this superb module, keep up the good work!
Regards,
Sascha Pfalz