#!/usr/bin/perl -w use strict; use warnings; use Net::FTP; # change directory chdir "/ftp/files" or die "/ftp/files: $!\n"; # DO NOT transfer without info file -f "/ftp/files/info" or die "info file is missing\n"; open(FILE, ""); while ( ) { s/\W*$//; next if (!$_); /^(.+?) \s+ (.+?)$/x; my ($old, $new) = ($1, $2); rename $old, $new; # ftp transfer my $server = "X.X.X.X"; my $ftp = Net::FTP->new ($server, Timeout => 9000, Debug => 3); $ftp or die "$server: cannot connect: $@"; # If you don't use ~/.netrc $ftp->login ('anonymous', 'mail@adress') or die "$_: cannot logon: " . $ftp->message; # change remote directory for the first file $ftp->cwd("FTP/A1"); # Put first file to the ftp server $ftp->put ($2) or die "$server: cannot put $2: " . $ftp->message; sleep (20 * 60) }