Update: what is written I gathered from experience building a simple phishing website (for my internship) that would use a text file as a database, the techniques used to give it crud abilities seems to apply to the case here
Greetings, fellow monk
There are many ways to skin a (cat|fish),
I gather you want the webpage to be served so, if you are not too much constrained resource wise, I'd advise using a web framework (catalyst,dancer or mojolicious).
This seems to be the exact use case for a custom model, you'd call your script inside it, then pass it to the controller which will, in turn, give it to an html view (look up TT) where with a little bit of scripting (a loop with your standard hyperlink template and a part where you'll put the context hash and the needed key to retrieve your value, ABC,DEF and so on).
That's how I'd go about it but keep in mind I never did any web programming in perl without a framework so there is a bias.
Another argument I have for catalyst is the easy portability and the ability to use
To get everything you need on the new machine.
Also I'm not pushing my own fishing agenda here so if anyone else can propose a more lightweight way to go about it please do so, I'd be most interested especially if you give details about the implementations and reasons why it's better!
Update2, in hindsight the whole process might look complicated but believe me, learning a framework is never a waste of time