![]() |
|< 1 2 3 4 5 6 >| | ![]() |
52 Einträge, 6 Seiten |
1
2
3
4
5
6
# evtl. Leerstrings im letzten Feld durch Nullen ersetzen
$_->[-1] = 0 unless $_->[-1] for @entries;
# sortiere nach dem letzten Feld (sort-Teil) numerisch
# und gebe immer die komplette Zeile zurueck (map-Teil)
my @sorted = map{$_->[0]}sort{$a->[1] <=> $b->[1]}@entries;
1
2
3
# sortiere nach dem letzten Feld (sort-Teil) und gebe immer die komplette
# Zeile zurueck (map-Teil)
my @sorted = map{$_->[0]}sort{($a->[1] || 0) <=> ($b->[1] || 0)}@entries;
my @sorted = map{$_->[0]}@entries;
my @sorted = map{$_->[0]}@entries;
join(' ',@fields);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!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 = <DATEI>;
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);
#-----------------------------------------------------------------------------------------
![]() |
|< 1 2 3 4 5 6 >| | ![]() |
52 Einträge, 6 Seiten |