in reply to Re^2: Error Checking with Net::FTP
in thread Error Checking with Net::FTP

You are already checking that the put/get succeeds in the original call:
$ftp->put($sub_log) or ErrorOut("put failed ", $ftp->message);
That will call ErrorOut if the put fails.
You then $ftp->quit to close the connection, and call $ftp->put after that in the if statement, which will try uploading the file again (fails because the connection is closed).