in reply to Reading from a Named Pipe
One of the points about a named pipe is that you can use them just like an ordinary file. There are exceptions, like you can't mmap them or do a seek, but generally they are transparent.
I see that you are opening an anonymous pipe with my $childpid = open(FROMCHILD, "-|")). Forgive me if I have misunderstood your code, but I wonder if you are confusing anonymous pipes (indicated by the | symbol) and named pipes? Generally anonymous pipes are used for communication between related processes (parent-child, for example), and named pipes (on UNIX, also called FIFO's) for communication between unrelated processes.