Once the perl interpreter has SEGV'd, it's in a corrupt and inconsistent state. Attempting to execute Perl code at that point (e.g. in a SEGV signal handler) is just likely to lead to more SEGVs, which may be why you're seeing it go into an infinite loop.