$gameserverip="xxxxxxxxxxxxx"; $username="xxxxxxxxxx"; $eventfolder="events"; $password="xxxxxxxxxxx"; $dateiholen="user.txt"; $dateiupload="spuaf.txt"; $spufolder="spuaf"; print "Content-Type: text/html\n\n"; sub SendFileOverSFTP {      use strict;     use warnings;     use Modules::Net::SFTP;     use Data::Dumper;          my %args = (     user =>  "$username",     password =>  "$password",     debug =>  "true",     );          my %defaultArgs = (     FTPServer =>  "$gameserverip",     FTPRemoteDir =>  "/home/$username/source/cstrike/cfg/$eventfolder/spuaf/");          my $sftp = Modules::Net::SFTP-> new($defaultArgs{FTPServer},%args);            my $openFtpDir =    $sftp-> do_open($defaultArgs{FTPRemoteDir});     if ( !defined($ENV{'DOCUMENT_ROOT'}/$spufolder/) ) {          print "failed to open the ftp directory\n";     }          my $local = "spuaf.txt";     my $remote = "spuaf.txt";          my $ergebnis = $sftp-> put($local,$remote);          if ( !defined($ergebnis) )     {         print "error\n";     }     #$sftp-> quit;     undef $sftp; } SendFileOverSFTP;