Yes, that *does* produce the desired behavior. (Interesting that the output from blackbox.pl spits out over time at the command line but not when it is piped. Hmmm...)
Unfortunately the actual program I am trying to track is pilot-xfer which reports its progress incrementally at the command line. And I have no control over its output buffering or whatever. It is what it is. (Thus the name of the stand-in: "blackbox".)
So where does that leave me in trying to solve my problem in the monitor program (the second one given)?