in reply to Data on the fly?

Use a database like MySQL. But if you don't want a DB server (only Perl), use SQLite, where the Perl module will work as the DB server. Take a look in DBI and DBD::SQLite.

You can use DBD::CSV, but this is not a real databse, it only simulate it on files. SQLite is a real database, that is saved in a unique file.

Graciliano M. P.
"The creativity is the expression of the liberty".