in reply to Projects where people can die

I'd wrap the people in an eval and have them throw exceptions rather than die :-)

Seriously though, I'd use modules that have extensive test suites and have been used in other production environments (no bleeding edge stuff or latest releases). I'd use Devel::Cover and friends to make darn sure that all of the potentially fatal aspects of the program were testable and tested.