#!/usr/bin/perl -w use strict; use warnings; use Date::Calc qw ( Localtime ); my %env = ( ftp_server => 'bitte einsetzen', ftp_user => 'bitte einsetzen', ftp_pass => 'bitte einsetzen', ); my $modul = 1; eval "use Net::FTP; 1;" or $modul = 0; if (!$modul) { die 'Modul >Net::FTP< kann nicht geladen werden!'; } eval "use Net::FTP::File; 1;" or $modul = 0; if (!$modul) { die 'Modul >Net::FTP::File< kann nicht geladen werden!'; } my $ftp = Net::FTP -> new ($env{ftp_server},Debug => 0,Timeout => 60,Passive => 1) or die 'Verbindungsaufbau zum FTP Server fehlgeschlagen'; $ftp -> login ($env{ftp_user},$env{ftp_pass}) or die 'Login zum FTP Server fehlgeschlagen'; my $akt_ftp_verz = $ftp -> cwd ('/tmpdevelop') or die 'Verzeichniswechsel mißlungen'; $ftp -> ascii or die 'Umschaltung in ASCII-Modus fehlgeschlagen'; $ftp -> put ($0) or die 'Upload fehlgeschlagen'; my $timewert = '20110101000000'; print "Stempel muesste sein: $timewert\n"; my $ret = $ftp -> quot ('MFMT ' . $timewert . ' test_utime.pl') or die 'Sonderbefehl fehlgeschlagen'; print "Return: >$ret<\n"; my $neu = $ftp -> mdtm ('test_utime.pl'); $neu = sprintf ("%04d%02d%02d%02d%02d%02d",(Localtime ($neu))[0..5]); print "Nachher : $neu => " . ($neu == $timewert ? 'RICHTIG' : 'FALSCH') . "\n"; $ftp -> quit;