in reply to Generating dynamic html

I would write a small script using the CGI module.

use CGI qw(:all);

Also use the DBI, to access the database.

Your scirpt is launched,
if there are no arguments then print a list of all routers, all routers in list are a link back to this script like script.pl?router_name=aab.dsd.11.com
if there is an argument (router_name) then list all interfaces for that router.

simple enough just get CGI, and DBI, and look into how to use them.