#!/usr/bin/perl use strict; use warnings; my $in_file1='content.csv'; my $in_file2 'common.csv'; my $out_file='neu.csv'; my %gesetze; open(my $ifh1, '<', $in_file1) or die "ERROR OPEN $in_file1 ($!)\n"; while(my $line=<$ifh1>) { chomp $line ; my ($nummer, $kuerzel, $gesetz) = split /;/, $line, 3; $gesetze{$kuerzel}=$gesetz; } close $ifh1; open(my $ifh2, '<', $in_file2) or die "ERROR OPEN $in_file2 ($!)\n"; open(my $ofh, '>', $out_file) or die "ERROR OPEN $out_file ($!)\n"; while(my $line=<$ifh1>) { chomp $line; my ($nummer, $kuerzel, $gesetz) = split /;/, $line, 3; if( exists $gesetze{$kuerzel} ) { print $ofh join(';', $kuerzel, $gesetze{$kuerzel}, $gesetz)."\n"; } } close $ofh; close $ifh2;