use constant MAXLEN => 1500; ...... my $mesg'; my $buff; my $conn = $self->{csocket}; while( my $read = read( $conn, $buff, MAXLEN ) ) { $mesg.= $buff; last if( $read < MAXLEN ); }