Thanks for this nice and quite thorough guide. I like the writing style. But perhaps the document is more aptly titled "How to Release Modules With Module::Build on CPAN in 2011". There are other ways to build CPAN distribution, e.g. Dist::Zilla. It has allowed me to be almost completely totally clueless about Makefile.PL and Build.PL yet able to release dists to CPAN. I believe it has similarly lowered the entry barrier for other CPAN developers.
Btw, I have a very stupid question. I understand the need of Perl script ./Makefile.PL generating another non-Perl script, but why does Build.PL need to generate another *Perl* script? Couldn't the original Perl script do everything in the first place (i.e. perl Build.PL, perl Build.PL test, and so on).