On Jan 13, 2013, at 8:35 PM, Charles DeRykus <dery...@gmail.com> wrote:
> On Sun, Jan 13, 2013 at 3:03 PM, Vic Sage <vic.s...@icloud.com> wrote: >> >> What I *want* is to block until an entire "\n"-terminated string [can that >> be referred to as a "line"?] can be retrieved from one of my clients. I'm >> sure I could work out the logic to maintain application-level buffers, but I >> suspect I would merely be reinventing the wheel, one bug at a time :-). >> What does the experienced Perl programmer - or socket-level programmer in >> general - do in this situation? >> > > I'm not experienced in heavy duty socket-level programming > but you may want to invest in learning POE: > > https://poe.perl.org > > It's already refined many of the wheels you'll need and appears well > documented. Wow - that is one substantial package! POE looks like a pretty steep learning curve; however, it appears as if POE::Wheel::ReadWrite might be what is needed. I've never tried my hand at working with event loops - and I'd be interested to hear if there's a general consensus that this is much preferable to my old-school approach of just looping on a select().