Before you decide on what module to pick, picking a learning target is way more important. Where do you want to improve?
Note that some good modules (like DBI) will prefer performance and efficiency over clarity and maintainability. Also note that module age might show its traces. Patches most often do not make the code clearer or more understandable: they more fix bugs. Also if a module changed maintainership, code might get harder to read as different styles mix (unless the new maintainer alter the style of all the module parts). Having modules with many authors might even get more confusing.
update: many of above mentioned modules cover more than one area, as noted below, like XS + Parsing or OO + Documentation. Main thing still is to pick the module that stands out in the area you want to improve on.
Enjoy, Have FUN! H.Merijn