sub receive { #no arguments- receives a new message my($message, $j, $i, $length); $message =""; my $self=$_[0]; my $remote=$self->{remote}; $remote->recv($length, 10); while ($length){ $remote->recv(my $message_block, $length > 4096 ? 4096 : $length); $message .= $message_block; $length -= length $message_block; } return $message; }