1BEGIN { 2 eval { require Config; import Config }; 3 if ($@) { 4 print "1..0 # Skip: no Config\n"; 5 exit(0); 6 } 7} 8 9use Thread; 10 11sub counter { 12$count = 10; 13while ($count--) { 14 sleep 1; 15 print "ping $count\n"; 16} 17} 18 19sub reader { 20 my $line; 21 while ($line = <STDIN>) { 22 print "reader: $line"; 23 } 24 print "End of input in reader\n"; 25 return 0; 26} 27 28print <<'EOT'; 29This test starts up a thread to read and echo whatever is typed on 30the keyboard/stdin, line by line, while the main thread counts down 31to zero. The test stays running until both the main thread has 32finished counting down and the I/O thread has seen end-of-file on 33the terminal/stdin. 34EOT 35 36$r = new Thread \&counter; 37 38&reader; 39 40__END__ 41 42 43$count = 10; 44while ($count--) { 45 sleep 1; 46 print "ping $count\n"; 47} 48