This depends on how you set up your application, but when I have a web-based application with a database backend, I often use Data::Table for maximum laziness. After performing a database query, you can filter, sort, reformat, etc. and then print the resulting data as an HTML table. There are plenty of options for formatting the HTML table nicely.
in reply to Modules that significantly contribute to Laziness
A lazy example (based on the module's documentation):
my $dbh= DBI->connect("DBI:mysql:test", "test", "")
or die $DBI::errstr;
my $minAge = 10;
my $t = Data::Table::fromSQL
"select * from mytable where age >= ?",
# Print out an HTML Table.