[This stuff dates back to 1999, but maybe someone out there still uses BBDB and will find this useful.]
bbdb is a Perl script for reading things from a BBDB file.
I use a rolodex package in Emacs called BBDB. Its best feature is that it's integrated decently into lots of other Emacs packages, including my mail program. Unfortunately, it's not easy to integrate it into things outside of Emacs. I found a script that Cengiz Alaettinoglu had written to do a few basic lookup operations on the database file and extended it into a more general BBDB access tool.
I've also written a bunch of trivial scripts that exploit this program, and a few non-trivial ones, which I've included here.
Also of note is bbdb-areacode-split, which can change the area code of the phone numbers in a given set of exchanges.