I used to find in an earlier version of ActiveState Perl (5.6.x) that the standard $SIG{ALRM} method did not work. I used Win32::Process to spawn and time out processes. I'm pretty sure that you can use $SIG{ALRM} on Cygwin's Perl. I hope the OP will let us know whether Strawberry Perl works or not (not optimistic).