c:\test>616053 THREAD: in da zone !! :) THREAD: in da zone !! :) the THREAD: in da zone !! :) quicTHREAD: in da zone !! :) k broTHREAD: in da zone !! :) wn fTHREAD: in da zone !! :) ox jTHREAD: in da zone !! :) umpsTHREAD: in da zone !! :) over THREAD: in da zone !! :) the lTHREAD: in da zone !! :) azTHREAD: in da zone !! :) y doTHREAD: in da zone !! :) gTHREAD: in da zone !! :) MAIN:the quick MAIN:brown fox MAIN:jumps over MAIN: the lazy THREAD: in da zone !! :) Terminating on signal SIGINT(2) #### #! perl -sw use strict; use threads; use threads::shared; my $sem: shared; my $thr = threads->new(\&sub1); sub sub1 { while(1){ lock $sem; print "THREAD: in da zone !! :) \n"; sleep 1; }; } while(1){ lock$sem; my $stuff=''; read STDIN , $stuff,10; print "MAIN:", $stuff , "\n" ; } #### c:\test>616053 the quick brown fox jumps over the lazy dog MAIN:the quick THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) MAIN:brown fox MAIN:jumps over MAIN: the lazy But I had to some more in order to see the end of the last input MAIN:dog But I MAIN:had to som MAIN:e more in MAIN:order to s MAIN:ee the end MAIN: of the la Terminating on signal SIGINT(2) #### #! perl -sw use strict; use threads; use threads::shared; my $sem: shared; my $thr = threads->new(\&sub1); sub sub1 { while(1){ lock $sem; print "THREAD: in da zone !! :) \n"; sleep 1; }; } while(1){ lock$sem; my $stuff = ; print "MAIN:", $stuff , "\n" ; } #### c:\test>616053 the quick brown fox jumps over the lazy dog MAIN:the quick brown fox jumps over the lazy dog THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) enter some more MAIN:enter some more enter some more MAIN:enter some more Terminating on signal SIGINT(2) #### c:\test>616053 the quick brown fox jumps over the lazy dog MAIN:the quick brown fox jumps over the lazy dog THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) and some more meaningless input here MAIN:and some more meaningless input here and some more meaningless input here MAIN:and some more meaningless input here THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) and more MAIN:and more and more MAIN:and more THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) THREAD: in da zone !! :) Terminating on signal SIGINT(2) #### print "\rTHREAD: in da zone !! :) \n", $sharedInputBuffer; ## output THREAD: in da zone !! :) Whatever has been typed so f #### THREAD: in da zone !! :) THREAD: in da zone !! :)so f Whatever has been typed so far