I'm not sure whether getstd\w+ is supposed to give me a new reference or not. From now on I'll code that portion defensively.
What I do know is that imcc -t under Win32 is crash-happy and I can't trace beyond the first getstdin. Greatly simplified example: .sub _main $P0=new PerlArray getstdin P2 defined $I0, P2 unless $I0, err $P0[0]=P2 getstderr P3 # STDOUT defined $I0, P3 # STDOUT $P0[1]=P3 # STDOUT unless $I0, err # STDOUT $P1=$P0[0] set $S0, "" read $S0, $P1, 255 print $S0 end err:print "Error" end .end The above code crashes, but not where I thought it did -- it occurs immediately *after* the read in either the print or end. Do any one of the following and the code works great: * Remove the print $S0 -- things are fine * Remove the code indicated by # STDOUT -- things are fine * Remove the read $S0, $P1, 255 -- peachy as well. [Offtopic: a small plea goes out to anyone who can get imcc -t under Win32 to not crash...]