- Bad code
- Speeling errors :)
- Readability
- Accuracy
- Broken links (the link for Appendix One is broken. I'll get to it eventually)
All good. My one complaint is the use of the CGI.pm html functions. I, personally, find those less readable, and often counter-productive (I don't like mixing content and code so tightly).
I know it's a personal preference, but I thought I'd throw it out there. Otherwise everything looks great. I like the emphasis on good practices early on. Will you be introducing CGI::Carp?