# änderungen einlesen open my $cfh, "<", "changes.csv" or die $!; my %changes; while (my $line = <$cfh>) { my ($aks, $rest) = split m/;/, $line, 2; $changes{ $aks } = $rest; } close $cfh; open my $fh, "<", "orig.csv" or die $!; open my $ofh, "<", "new.csv" or die $!; while (my $line = <$fh>) { my ($aks, $rest) = split m/;/, $line, 2; if (exists $changes{ $aks }) { $line = "$aks;$changes{ $aks }"; # newline hängt noch dran } print $ofh $line; }