in reply to Interprocess using Safe Pipes Opens

Without digging deeply into the code, I think what's happening is that the data is never getting flushed.

It's probably just a matter of needing to terminate your strings with newlines:

sleep 5; $fh = $fh[0]{'fh'}; print "send hi to child 1\n"; print $fh "shalom yeled 1\n"; # <= Note the newline to flush output sleep 2; $fh = $fh[1]{'fh'}; print "send hi to child 2\n"; print $fh "shalom yeled 2\n"; # <= Note the newline to flush output sleep 2; $fh = $fh[2]{'fh'}; print "send hi to child 3\n"; print $fh "shalom yeled 3\n"; # <= Note the newline to flush output

s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/