Since you're already getting suggestions to head down the database route, I'll chime in my agreement.
I've always avoided databases, because I didn't want to be tied to a machine/server/etc. But recently I've written code using DBI::SQLite and Class::DBI. The conbination of those two allows me to just write perl code, and not worry about SQL statements, and SQLite is simply a file, so I don't need to worry about keeping a server up and running.
For me, they provided a nice entry into the world of databases.