Just one comment,
I've tried this code in a Linux Box and in a Win200K Box and does not ignore control-c
perl -e 'map{sleep print "$_\n";$SIG{QUIT}='IGNORE'}(1..10)'
$SIG{QUIT} doesn't do it, but $SIG{INT} does it.
Yes, I know I shouldn't ab(use) map for this...
Hope this helps