Could you give us examples of what is happenning?
I think that somehow STDIO is confused with eof states, since your are reading after you've written at EOF. Why the code? Beat me with a broom and I still won't know.
Try
seek TEMPO, 0, 0; instead of the open, read it to it's end and then immediately reading again - if it still prints out your code then maybe it is something with EOFs. If it messes up on the first read then i dunno...
You should also try this:
use Fcntl qw(O_RDWR O_CREAT);
sysopen TEMPO,"c:\\winnt\\temp\\hash.tmp",O_RDWR|O_CREAT or die "$!";
syswrite TEMPO,"aba uba\nniba seba\njak yuk\n";
while (sysread TEMPO, $_, 4096){
print;
}
And see if it gives you similar results, and then add
sysseek(TEMPO,0,0); between syswrite and while, and see what it does.
These will not solve the problem, but may help identify it. Perhaps you should ask the people at activestate if no one here can find a solution.
Good luck!
-nuffin
zz zZ Z Z #!perl