use strict; use warnings; use Data::Dumper; use DBI; use CGI::Pretty qw(:standard); my $dbh = DBI->connect( qw(DBI:vendor:database:host user pass), {RaiseError=>1}, ); my $sth = $dbh->selectall_arrayref(' SELECT firstname,lastname,login,email FROM student '); print header,start_html, table( Tr( map th($_), ('First Name', 'Last Name',qw(Login Email)), ), map Tr(map td($_),@$_), @$sth );