#!D:/Programme/Perl -w use strict; use warnings; use Text::CSV_XS; my @fields; my $geparst; my @geparst; my $i; my $file = 'apo_neu-1.csv'; my @entries; my $parser = Text::CSV_XS->new({sep_char => ';', 'binary' => 1 }); open(DATEI,">datei.txt") or die $!; open(my $fh,"<$file") or die "File apo_neu-1.csv nicht gefunden"; while (my $line = <$fh>) { if($parser->parse($line)) { @fields = $parser->fields(); if ($fields[-1] =~ m/^\d{2}$/ and $fields[-1] > 0 and $fields[-1] <= 49) # Nur Zahlen von 01 bis 49 {   ; my $geparst = join (' ',@fields); @geparst = $geparst; print DATEI $_,"\n" for(@geparst); } } } close $fh; close (DATEI); open(DATEI,"datei.txt") || die "File datei.txt nicht gefunden"; @geparst = ; close(DATEI); my @sorted = map{$_->[0]}sort{$a->[1]->[-1] <=> $b->[1]->[-1]}map{[$_,[split(/ /,$_)]]}@geparst; # Sortieren nach dem letzten Arrayfeld my $anzahl = @sorted; open(DATEI,">datei.txt") || die $!; print DATEI $_ for(@sorted); close(DATEI); #----------------------------------------------------------------------------------------- # Aufteilen der Daten auf 6 Server #----------------------------------------------------------------------------------------- open(SERVER1,">apo_server1.txt") || die "Datei apo_server1.txt nicht gefunden"; for($i=0; $i<$anzahl;) { print SERVER1 $sorted[$i]; $i += 6; } close(SERVER1); #--------------------------------------------------------------------------------------- open(SERVER2,">apo_server2.txt") || die "Datei apo_server2.txt nicht gefunden"; for($i=1; $i<$anzahl;) { print SERVER2 $sorted[$i]; $i +=6; } close(SERVER2); #----------------------------------------------------------------------------------------- open(SERVER3,">apo_server3.txt") || die "Datei apo_server3.txt nicht gefunden"; for($i=2; $i<$anzahl;) { print SERVER3 $sorted[$i]; $i +=6; } close(SERVER3); #----------------------------------------------------------------------------------------- open(SERVER4,">apo_server4.txt") || die "Datei apo_server4.txt nicht gefunden"; for($i=3; $i<$anzahl;) { print SERVER4 $sorted[$i]; $i +=6; } close(SERVER4); #----------------------------------------------------------------------------------------- open(SERVER5,">apo_server5.txt") || die "Datei apo_server5.txt nicht gefunden"; for($i=4; $i<$anzahl;) { print SERVER5 $sorted[$i]; $i +=6; } close(SERVER5); #----------------------------------------------------------------------------------------- open(SERVER6,">apo_server6.txt") || die "Datei apo_server6.txt nicht gefunden"; for($i=5; $i<$anzahl;) { print SERVER6 $sorted[$i]; $i +=6; } close(SERVER6); #-----------------------------------------------------------------------------------------