in reply to Re: Re: Re: Re: IPC::Open3 and blocking filehandles
in thread IPC::Open3 and blocking filehandles

Probably bc is doing multiple write's, each outputting a portion of the number. To get all the chunks and put them back together, you'll need to put the select and read in a loop. The tricky part is knowing when to terminate the loop. You'll have to figure out some way to know when bc's done writing the number. I'm not sure what the exact output format is, but at a quick glance it looks like output ends at a newline that's not preceded by a backslash. That's a little tricky to scan for, especially if the backslash comes on one read and the escaped newline on the next, but I don't see any easier options.