#!/usr/bin/perl -w use strict; use Win32::ODBC; my $infile = shift; #parameter my $out_file = shift; #parameter my $DSN = shift; #parameter my $DataBase; my @FieldNames; my $Cols; my %Data; my $iTemp; my $infile_zeile; $DataBase = new Win32::ODBC($DSN); #4. Programm starten &suche(); sub suche { open(INFILE, '<'.$infile) or die "Unable to open $infile"; my $sql_state; $sql_state = ; open(OUTFILE, '>'.$out_file) or die "Unable to open $out_file"; if (!$DataBase->Sql($sql_state)) { #Zuweisung der Feldnamen in das Array: @FieldNames @FieldNames = $DataBase->FieldNames(); #Berechnung der Anzahl der Spalten. $Cols = $#FieldNames-1; #Zeilenweises Durchgehen der Datenbank per while-Schleife while($DataBase->FetchRow()) { #Die Daten der Zeile wird dem assoziativen Array DATA zugewiesen. undef %Data; %Data = $DataBase->DataHash(); for ($iTemp = 0; $iTemp <= $Cols; $iTemp++) { if($iTemp != $Cols) { print OUTFILE $Data{$FieldNames[$iTemp]}; print OUTFILE " "; } else { print OUTFILE $Data{$FieldNames[$iTemp]} ,"\n"; } } } #Datenbank wird geschlossen. $DataBase->Close(); } } close(INFILE); close(OUTFILE);