#!/usr/bin/perl use strict; use warnings; use Text::CSV; use Data::Dumper; print "CSV Vergleich vom 07.10.2011 ver 0.0.1\n"; # Dieses Sub bekommt die Kundennummer übergeben und schaut ob es sie schon gibt. # Wenn ja werden die Daten aus der .CSV Ausgegeben sub nummerntest { my $nummer = shift; my $csv2 = Text::CSV->new ( { binary => 1 , sep_char => ";" } ) or die "File not found: ".Text::CSV->error_diag (); open my $fh2, "<:encoding(ISO-8859-15)", "xt_customers.csv" or die "xt_customers.csv $!"; while ( my $row2 = $csv2->getline ( $fh2 ) ) { if ($nummer == $row2->[0]) { print join (';',$row2->[0],$row2->[1],$row2->[2],$row2->[3],$row2->[4],$row2->[5],$row2->[6],$row2->[7],$row2->[8],$row2->[9],$row2->[10],$row2->[11],$row2->[12],$row2->[13],$row2->[14],$row2->[15],$row2->[16],$row2->[17]) ; print " -> aus der CSV Datei"; return("1"); } else { } } return("0"); } # Dieser Teil liest die Hauptdatei Zeilenweise ein, extrahiert die Kundennummer # und übergibt sie zur Prüfung an die sub nummerntest # my $csv = Text::CSV->new ( { binary => 1 , sep_char => ";" } ) or die "File not found: ".Text::CSV->error_diag (); open my $fh, "<:encoding(ISO-8859-15)", "xt_customers.txt" or die "xt_customers.txt $!"; while ( my $row = $csv->getline ( $fh ) ) { my $ergebnis = nummerntest ("$row->[0]"); if ($ergebnis == "1") { } else { #print $row->[0]; # my $test = join (';',$row->[0],$row->[1],$row->[2],$row->[3]) ; print join (';',$row->[0],$row->[1],$row->[2],$row->[3],$row->[4],$row->[5],$row->[6],$row->[7],$row->[8],$row->[9],$row->[10],$row->[11],$row->[12],$row->[13],$row->[14],$row->[15],$row->[16],$row->[17]) ; print " -> aus der TXT Datei" } print "\n"; } $csv->eof or $csv->error_diag(); close $fh;