in reply to Win32 Interrupts

The crudest way would be to check for the existence of a file periodically, and either pause or checkpoint the system when you see it.

Another slightly more refined way is to use a non-blocking socket, and check for data being present on the socket. Use another app to connect to the socket, and send control information. You don't need select() for this to work.

Probably the best way would be to use Win32::API, and hook some code that would poll the keyboard of the active process.

I suspect that the problem is dependant on the nature of the loop, the Perl compiler is not getting around to checking for I/O in certain types of loops. Under DOS, and to some extent Windows, keyboard I/O has to be checked for to receive a break signal. This is unlink Unix OS's, which send a signal to the process (DOS and Windows apps don't really have that concept, unless it's written into them).

--Chris

e-mail jcwren