Good news: bioperl is fairly complete and correct, as far as I can tell.
Bad news: it's absolute agony to use, making easy things hard, and hard things slow. A few points:
* The interface is a twisty little maze of objects, all alike.
* Many methods are unnecessarily slow.
* Some formats (e.g. BLAST) are incompletely supported.
* The documentation "follows standards", which means that many of the less-used bits are documented with a pile of uninformative but mandatory boilerplate.
* For simple tasks, it's usually easier to roll your own than to wade through the docs.
Other modules are a better bet if they meet your needs -- see e.g. Chemistry::* and Boulder::* .