#!C:/Programme/Perl use strict; my $input='Input.csv'; my $output='Output.csv'; my $mapping='Input_mapping.csv'; my $zeileDaten; my @arrayDaten; my $inputDaten; my @inputarray; my $semikolon=';'; open MAPPING, "<$mapping" or die "Datei $mapping konnte nicht geöffnet werden"; open INPUT, "<$input" or die "Datei $input konnte nicht geöffnet werden"; open Output, ">$output" or die "Datei $output konnte nicht geöffnet werden"; while (){ chomp; #print "$_\n"; $zeileDaten ="$_\n"; push(@arrayDaten,$zeileDaten); } close(MAPPING); while (){ chomp; $inputDaten ="$_\n"; @inputarray=split(/;/,$inputDaten); foreach $mapping( @arrayDaten ) { my ($Stelle, $ZielStelle,$Laenge, $Typ) = split(/;/,$mapping); if ($Stelle eq "!"){ print Output "$semikolon"; } else { print Output "@inputarray[$Stelle]$semikolon"; print "@inputarray[$Stelle]$semikolon"; } } } close(INPUT);