#!/usr/bin/perl use strict; use warnings; use DirHandle; use DBI; ##### Variablen ############################## my $csv_dir = "csv_all"; my $filename; my $file; my $id = 0; my ($a,$b,$c); my $dbh = DBI ->connect('DBI:mysql:table', 'user', 'pw', {PrintError => 1}); my $dh = DirHandle->new($csv_dir); my @filelist = sort $dh->read(); { foreach $file (@filelist) { if($file =~ /extasc_cdr_(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})_(\d+).csv/) { $filename = $file; $filename =~ s/extasc_cdr_(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})_(\d+).csv/$1 $2 $3 $4 $5 $6 $7/; $id = $7; # select auf ID in Datenbank machen um zu pruefen ob die csv-Datei schon in DB eingelesen wurde my $sql_id_select = "SELECT * FROM csv_id WHERE csv_id=$id"; my $execute_select = $dbh->do($sql_id_select) or warn $dbh->errstr; if ($execute_select eq "0E0") {&update_db($file);} else {print "-\n";} } } } sub update_db{ # CSV-ID in Datenbank speichern my $sql_id_insert = "INSERT into csv_id VALUES('',$id)"; my $execute_insert = $dbh->do($sql_id_insert) or warn $dbh->errstr; print "ID: $id - File: $file\n"; open(DATEI, "cat $csv_dir/$file |") or die "Fehler beim oeffnen von $file: $!\n"; while() { chomp $_; (my @spalten) = split (/\,/, $_); $a = $spalten[0]; $b = $spalten[1]; $c = $spalten[2]; } } $dbh->disconnect; close(DATEI);