I've used
PDF::API2, and although it is an excellent parser, for large documents, it can be unwieldy because it seems to load / parse the entire document before you are able to do anything with it, chewing up great heaping gobs of memory in the process.
This can be problematic if your document is particularly large or if you have a large number of documents to parse.
(I experienced this issue firsthand when I had to parse and modify thousands of PDF files for a time-critical project and it took quite literally the better part of a weekend with two dedicated laptops churning away 24x7.)
Do any of the monks who've worked with CAM::PDF know whether it behaves the same way?