my $special_error_flag = 0; $network_debug_level_real = 2; $network_username = "root"; $password = "root password"; my %ssh_config = ( port => $network_server_port, ); my %sftp_config = ( user => $network_username, password => $network_password, debug => $network_debug_level_real, ssh_args => \%ssh_config, ); eval { $$network_connection_p = Net::SFTP->new($network_server, %sftp_config ) or $special_error_flag = 1; }; if ( $@ ) { # sftp connection failure $$network_connection_p = (); print "Connection failed\n"; } print "special_error_flag $special_error_flag\n"; if ( $special_error_flag == 0 ) { print "login"; my @listings = $$network_connection_p->ls("/root"); foreach my $teste ( @listings ) { print "teste $teste\n"; } } <