My theory is that because the underlying container where the filehandle is being stored is an array reference, that when I shift on the (dereferenced) array reference, I'm stomping on the original...
Oh yes, that sounds right. IO::Select probably isn't making a deep copy when you call can_read().
... even though it's in a for loop and using $_.
That's a red herring. Your original code modified the data structure out from under IO::Select and your code. Loop aliasing doesn't apply at all, as it doesn't make deep copies either.
In reply to Re^2: Select on child output problem
by chromatic
in thread Select on child output problem
by topher
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |