in reply to How can I read DATA in parent and child?
About 10 minutes' rummaging in the docs failed to find any explanation.
Some playing with the code says that what we have is a race. If you sleep in the parent before reading, the child gets the data.
Further playing says that if you seek before reading, both parent and child get the data. I was using the DATA handle directly, so my seek was
seek( DATA, tell( DATA ), 0 );.
Note that this actually works without the parentheses, but I included them for clarity.