Title: An introduction to Class::DBI Speaker: Michael Graham Duration: 45 Minutes Description: An introduction to Class::DBI and how it can help Perl programmers improve their programs by separating out the SQL from their application code. Synopsis: Perl's DBI (Database independent interface) does a great job of simplifying access to databases of all types from Perl. But even with DBI, you still spend a lot of time embedding one language (SQL) inside another (Perl). This has a number of drawbacks: * hard to maintain * hard to test * errors are often discovered at run time * you write the same code to do the same thing over and over again * ugly code and hard to read (indenting/quoting issues, SQL placeholders) Class::DBI is an abstraction layer that sits on top of DBI and makes it easy to write common database-driven Perl code. It removes the SQL from your Perl code and lets you deal with your data at the application level. Without writing a line of SQL, you can use Class::DBI to handle most common database access tasks, including: * creating and deleting rows * reading and writing rows * searching * table relationships (one-to-one, many-to-one, one-to-many, many-to-many) But in those rare cases where you have to do something that is not supported by Class::DBI, you are free to mix in raw SQL queries as needed. This is because Class::DBI does not use any hidden magic to do its work: it does not require a special database schema, and it does not create any hidden tables. In this way, Class::DBI fits well with the Perl philosophy that "Easy things should be easy and hard things should be possible". Speaker's Bio ------------- Michael Graham is a Toronto-based Perl programmer, musician, goaltender, unrealistic dreamer and unrepentant idealogue. He is the author of two CPAN modules (Class::Constructor and Palm::Progect). He faked his way through high school math by learning Pi to 50 decimal places. Strangely enough he has never learned to defend himself in a fight. His favourite colour is dulcet. His vanity web site (including slides of his talks) can be found at http://occamstoothbrush.com/.