use IO::Handle; if (!open(TPOOL, "|thread_pool.test)) { print "error: $!"; exit(1); } TPOOL->autoflush(1); while(1) { sleep 10; print TPOOL "This is just a test\n"; }