#!/usr/bin/perl # sollte in keinem Script fehlen use strict; use warnings; # DBI Modul Laden use DBI; # Verzeichnis mit dem Script finden. # "." muss nicht immer das Verzeichnis mit dem Script sein use FindBin '$Bin'; # Sollte man machen. # es hilft die Dateinamen # von den Tabellennamen zu trennen. my %zuordnung=( prospects => { file => 'prospects.csv', col_names => ['Name', 'Address', 'Floors', 'Donated last year', 'Contact'], }, ); # Verbindung aufbauen my $dbh = DBI->connect("DBI:CSV:", undef, undef, { # Zeilenseparator csv_eol => "\x0A", # Spaltenseparator: csv_sep_char => ",", # Verzeichnis mit den Dateien f_dir => $Bin, # Zuordnung Dateiname -> Tabelle csv_tables => \%zuordnung, # bei Fehlern immer sterben: RaiseError => 1, } ) or die($DBI::errstr); # Testausgabe my $sth=$dbh->prepare('SELECT * FROM prospects'); $sth->execute(); while(my @row = $sth->fetchrow_array){ print join('; ',@row)."\n"; } $sth->finish; $sth = $dbh->prepare("SELECT * FROM prospects WHERE name LIKE 'G%'"); $sth->execute(); while (my $row = $sth->fetchrow_hashref){ print("name = $row->{Name} contact = $row->{Contact}". "\n"); } $sth->finish(); $dbh->disconnect();