I think the main issue in using your own text file that is likely to be accessed in read/write mode by multiple apache processes is flock. DBD::CSV seems to handle that part. The answer to your question lies in the urgency of your project, I think. If you don't have a hard deadline on it, why not do it both ways, learn, compare and tell us? Cheers :)