On Sat, Oct 28, 2000 at 05:07:20PM +0200, Vincent Lefevre wrote:
> In one of my scripts, I have:
>
> `*crc $tmpfile` =~ /^([0-9A-F]{4})\s*$/
> or die "mknews: crc failed\n";
>
> in a loop. This usually works, but after the 40th file, the CRC was
> written to the taskwindow instead of being redirected:
>
> 12B5
> mknews: crc failed
Were you running any other programs at the time? The redirection (for
output capture) is done using DDEUtils, and the implementation of
DDEUtils long command lines is fundamentally broken, as it only supports
one for the whole machine. So if any other program starts between perl
(or amu or any other program) setting the long command line and the
(intended) child programming running and reading the long command line,
the other program gets (and clears) the long command line.
This is (stupid) Acorn's fault, and rather hard to fix now (you'd need
source to or total rewrite of both DDEUtils and Taskwindow, to allow
DDEUtils to suport one long command like per Task, and Taskwindow to
pass long command lines into the new Task it was creating)
On the other hand, if you weren't running any other programs at the time,
this is a new bug I'm not aware of, and any other details would be useful.
Nicholas Clark