In the last few chapters, we've seen how DBIx::Class
can provide a powerful interface to your data. Sometimes, however, DBIx::Class
is not the right tool for the job. Situations often arise in which your application won't be able to access database tables directly and instead you'll need to access data through predefined stored procedures. In this case, DBIx::Class
would be useless as you aren't able to read and modify objects with the usual SELECT, INSERT, UPDATE
, and DELETE
command set—everything must be done by calling a procedure and reading back the result.
In other cases, your data won't be in a database at all. You might instead choose to store and retrieve information from files in a directory.
In this chapter, we'll cover three common cases—mixing a procedural interface with a relational DBIx::Class
interface, writing a database interface without DBIx::Class
, and building a custom Model that doesn't use a database at all.