sub GimmeStdErr(@){ # ... bangles, tangles and spaghetti! local *R, *W; pipe R,W; if(fork){ close W; }else{ close R; open STDERR, ">&W"; exec @_ } };