Perl 5.8 should support ALRM even on Windows. To verify that, here is some simple code: This should just print nonsense for one second (could be a lot of lines if your processor is fast), but should die with an error message if $SIG{ALRM} is working on your platform. This program works on a Linux Perl 5.8 system and Windows Perl 5.10. I don't have a Windows Perl 5.8 system to test with.
!/usr/bin/perl -w
use strict;
$| =1; #turns off output buffering
#without this the "die" message might not be
#seen due to STDOUT buffering
$SIG{ALRM} = 'alarmhander';
alarm(1);
while (1)
{
print "blah...anything..lot's of lines\n";
}
sub alarmhander
{
die "ooops bailing out with die\n"
}