BioPerl is the standard library for bioinformatics in Perl. Its design leans fairly heavily on concepts borrowed from Java and other object-oriented languages (for example, the separation between interfaces and implementation classes), which means that it is somewhat hard to understand the sprawling architecture at first but also that it is very, very extensible.
Once you get it - and there is good documentation and a user community to help you with this - it turns out to be very useful. This is probably especially true for the many different file readers and writers. Bioinformatics is unfortunately plagued by a proliferation of file formats, many of which are represented in BioPerl. Other good things are the interfacing with web services and databases, and the architecture for invoking command line tools and parsing the results.
If you are doing something with biological data in Perl you probably need to learn BioPerl.
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::* .