#!/usr/bin/perl use strict; use warnings; my %hash; # Daten zeilenweise aus Filehandle (hier: DATA) einlesen while (my $row = ) { # Newline entfernen chomp $row; # Zeile in Array speichern my @f = split /;/, $row; # Zeile verwerfen, wenn dieser Schlüssel schon existiert next if $hash{$f[0]}->{$f[3]}->{$f[4]}; # Schlüssel in verschachteltem Hash speichern $hash{$f[0]}->{$f[3]}->{$f[4]} = 1; # SQL-Statement generieren und ausgeben. my $sql = "INSERT into FOO (BAR, BAZ, BAF, BAM, BAX, BAL) values (" . join(', ', @f) . ");"; print "$sql\n"; } __DATA__ XXC;0.0090;0.0290;07/18/2014;03:36:35;IN XXC;0.0040;0.0240;07/18/2014;03:50:48;IN XXC;0.0020;0.0220;07/18/2014;03:50:48;IN