There are many ways to implement this. It is usually done by having an application framework (like Catalyst
) to Control the flow, a database (like Pg or MySQL or SQLite) as the Model to store data and a templating system like the one you're already using to display the View. You can Control the flow yourself just by checking the querystring and using it to determine which part of the model to consult and which template to display. You can use text files as the Model though databases already cover some of the gotchas you need to watch out for. So, yes you can do it more or less as you described.