in reply to Server waits for user input before sending text.

I may be totally off base here, but have you tried:
select((select(STDOUT), $| = 1)[0]); #flush STDOUT buffer
after the syswrite?

Update: Of course substitute your connection for STDOUT.

"Make everything as simple as possible, but not simpler." -- Albert Einstein