It might be a bug in ActivePerl. Perl on Windows does some special stuff to provide the Unix API on Windows which does things differently. For example, fork() is emulated with threads, and sockets need to be mapped to WinSock API.
I know there were some bugs in earlier releases of ActivePerl 5.6. Make sure you have the most recent release.
ActivePerl 5.8 is supposed to be better; try that if you can. Finally, what Windows version are you running? The NT-based ones (NT 4, 2000, XP) are more stable than 95, 98, ME.