#!/usr/bin/perl use strict; use warnings; use DBI; use CGI; use FindBin; use HTML::Template::Compiled; my $query = CGI->new(); my %params = $query->Vars(); unless($params{action}){ $query->redirect("/formular.cgi"); } else{ my $results = do_query(%params); print $query->header(); my $template = HTML::Template::Compiled->new( filename => $FindBin::Bin . '/results.tmpl', ); $template->param(RESULTS => $results); print $template->output(); } sub do_query{ my (%params) = @_; my $dbh = DBI->connect('DBI:mysql:tabelle:host','user','passwd') or die $DBI::errstr; my $stmt = "SELECT * FROM tabelle WHERE Spalte1 = ? OR Spalte2 = ? OR Spalte3 = ? OR Spalte4 = ? OR Spalte5 = ? OR Spalte6 = ?"; my $sth = $dbh->prepare($stmt) or die $dbh->errstr; $sth->execute( ($params{search}) x 6) or die $dbh->errstr; my $results = $sth->fetchall_hashref(); return $results; }