#!/usr/bin/perl use strict; use warnings; print "Version Net::FTP: ".$Net::FTP::VERSION."\n"; my $erg = losgehts(); print "Ergebnis: $erg\n"; sub losgehts { use Net::FTP; use IO::Socket::SSL qw(SSL_VERIFY_CLIENT_ONCE); my @hosts = ( { url => 'url.url.de', user => 'benutzername', passw => 'passwort', }, ); foreach my $ref (@hosts) { my $ftp = Net::FTP->new( $ref->{url}, Debug => 0, Passive => 1, SSL_verify_mode => SSL_VERIFY_CLIENT_ONCE, ) or return 'bei '.$ref->{url}.' ist Net::FTP->new() fehlgeschlagen'; $ftp->starttls() or return 'bei ' .$ref->{url} .' ist $ftp->starttls() fehlgeschlagen' ; print "Zeile ".__LINE__."\n"; $ftp->login($ref->{user},$ref->{passw}) or return 'bei ' .$ref->{url} .' ist $ftp->login($ref->{user},$ref->{passw}) fehlgeschlagen' ; print "Zeile ".__LINE__."\n"; my $hash_ref = $ftp->dir() or return 'bei ' .$ref->{url}.' ist $ftp->dir(\'/\') fehlgeschlagen' ; print "Zeile ".__LINE__."\n"; } print "Zeile ".__LINE__."\n"; }