I run CPAN smoke tests, and the alarm() call has problems on Win32 Perl, so Makefile.PL does not get timed out when doing a CPAN smoke. Both rules have been evolved from the broken Makefile.PL that is the tradition of mod_perl, which dives into an infinite loop asking me for the location of httpd, over and over again, without a default and without user interaction. The subsequently generated long error email (after I kill the runaway process) then gets bounced back to me by x.perl.org in its entirety because it's too large.
To prevent authors of Makefile.PL from doing these stupid steps, I came up with these rules.
The first rule makes authors think about providing sensible defaults or even making the Makefile.PL actively search instead of always asking the user. This is a passive measure to make Makefile.PL find things even in absence of guidance by a user.
The second rule actively prevents authors from writing potentially infinite loops asking the same question, again and again, without ever getting an answer because there is no user.