#!/usr/bin/perl use strict; use warnings; #perl test_ftp.pl my $erg = losgehts(); print "Ergebnis: $erg\n"; sub losgehts { use Net::FTP; use IO::Socket::SSL qw(SSL_VERIFY_CLIENT_ONCE); my @hosts = ( { url => 'test .de', user => 'abc', passw => 'xyz', }, ); foreach my $ref (@hosts) { my $ftp = Net::FTP->new( $ref->{url}, Debug => 1, Passive => 1, SSL_verify_mode => SSL_VERIFY_CLIENT_ONCE, SSL_session_cache => IO::Socket::SSL::Session_Cache->new(1), ) 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"; }