if( defined $read_bytes ) { if( $read_bytes >= 0 ) { print 'read something'; if( $read_bytes == $num_bytes ) { print 'read full buffer'; } elsif( $read_bytes < $num_bytes ) { print 'buffer length: ', $num_bytes, ' read length: ', $read_bytes; } else { die 'how did i get here?'; } } elsif( $read_bytes == 0 ) { print 'EOF'; } else { die 'how did i get here?'; } } else { die 'error reading socket'; } #### .