This book doesn't really cover much about Perl and the DBI module that you couldn't find with a quick trawl through Google, but it is handy to have all the material you need together to hand. If you're the kind of person who likes to be able to just pick up a book to find what you need to know, it's well worth buying - it's an authoritative source of information and will get you writing decent Perl + DBI scripts to interact with a database in no time.
This is a good book, IF: - You want the online documentation with some extra fluff on databases, extra examples and the DBI spec. in one handy place (pages 187 - 333 are pretty much available online, the rest of the book is the online material filled out). - You are interested in learning about the DBI, the book is about the DBI rather than database programming. This is not a good book, IF: - You want to learn how to program databases from the web (the widest application of Perl today is covered on one example/page and is an absolute joke). - You want to learn how to program databases other than Oracle (the massive Windows market, and other markets are left to you, the reader, to extrapolate techniques from the book to practice). This is a terrible book, IF: - You are a Perl/programming beginner. - You want to learn about databases. - You want to troubleshoot your application (to not include much more driver specific material, when the DBI relies so heavily on the database's driver, means that essentially the book's use is very limited in the real world). The DBI is a great tool in the Perl armoury; this book does not do it justice. You will learn more from the online documentation and the DBI mailing list than you could ever get from here - save your money (The forthcoming 'Web Databases with Perl' from Manning looks far more promising, but it's not out until Oct 2000). Of course, if the book is supposed to be nothing more than a guide to the DBI in the very limited scope of being a recycle and slight expansion of existing material, then you can't fault it, and it is a nice read, but otherwise... O'reilly what were you thinking.
I picked up this book because I had a perl/sybase project. My opinion is that this is very limited book. Most people will only use Ch5 "Interacting with the database" - 25 pages. These important 25 pages lack organisation and logical structure. The book covers the perl DBI, by that I assumed everything to make a database work with perl - wrong! It covers exactly and only the DBI. Example: If you've been working with databases for more than a week you will want to know how to detect and respond to deadlocks. The word isn't even in the book. I should point out, you can handle deadlocks but that's in the DBI driver for your database and so it's not covered. The first week I used this book I liked it, I was copying chunks of source code and pasting it right into my application, by the second week I was searching the web.
As someone who knows a little bit about Perl and a reasonable amount about databases, I found this book did just what it said: taught me how to access databases from Perl. An hour or so's reading and a bit of messing about and I had the application I needed written in a couple of days. It can, admittedly, seem like quite bad value for money: you'll probably only need to read two or three chapters of the book unless you're using more than one RDBM or don't know a lot about databases, and you probably won't need to refer back to it that much, but I find it hard to see what else they could have done. I would also disagree that the book is only useful for Oracle. I use M$ SQL Server on Windows NT and had no problems finding the information I needed: indeed, there's a whole chapter covering ODBC with particular reference to the Windows platform. A well-written, concise book that tells you what you need to know, but is probably best borrowed rather than bought (sorry O'Reilly!)