10 minutes hack: Class::DBI::AbstractSearch.
This module glues SQL::Abstract into Class::DBI, which allows you to do:
package CD::Music;This would generate
my @music = CD::Music->search_where(artists => ['Ozzy', 'Kelly']);
SELECT * FROM music WHERE artist = 'Ozzy' OR artist = 'Kelly', thanks to SQL::Abstract magic.