use threads; use threads::shared; my ($BUFFER) : shared ; $thra = threads->new(\&read_stdin); $thrb = threads->new(\&send_sock); print "By!\n" ; ############## # READ_STDIN # ############## sub read_stdin { 1 while( read( \*STDIN , $BUFFER, 1 , length($BUFFER) ) ) ; } ############# # SEND_SOCK # ############# sub send_sock { my ($buf_lng) ; for(;;) { if ( length($BUFFER) > $buf_lng ) { my $buf = substr($BUFFER , $buf_lng-1 ) ; print "<$buf>\n" ; } $buf_lng = length($BUFFER) ; print ".\n" ; sleep(1) ; } }