8 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
13
use strict;
use Data::Dumper;
my @data = ();
my $string = qq~KWER02;262;P1-3-1-1-5-2.0;80077
KWER02;15;P1-3-1-1-5-2.0;80078
KWER02;262;P1-3-1-1-5-1.0;80078~;
for (split(/\r?\n/,$string)) {
push(@data,[split(/;/)]);
}
print Dumper(\@data);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use strict;
use Data::Dumper;
my @data = ();
while (<DATA>) {
push(@data,[split(/;/)]);
}
print $data[0]->[1];
_ _DATA_ _
KWER02;262;P1-3-1-1-5-2.0;80077
KWER02;15;P1-3-1-1-5-2.0;80078
KWER02;262;P1-3-1-1-5-1.0;80078
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$VAR1 = [
[
'KWER02',
'262',
'P1-3-1-1-5-2.0',
'80077'
],
[
'KWER02',
'15',
'P1-3-1-1-5-2.0',
'80078'
],
[
'KWER02',
'262',
'P1-3-1-1-5-1.0',
'80078'
],
...
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
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %lut;
while (<DATA>) {
chomp;
my @cur = split(/;/);
push @{$lut{$cur[0]}}, [@cur[1..$#cur]];
}
print Dumper \%lut;
_ _DATA_ _
KWER02;262;P1-3-1-1-5-2.0;80077
KWER02;15;P1-3-1-1-5-2.0;80078
KWER02;262;P1-3-1-1-5-1.0;80078
KWER02;15;P1-3-1-1-1-1.0;80093
TDUI01;46;P4-5-1.83;82180
WCOL02;13;P1-1-2-4.0.100;81684
KWER02;14;P1-3-1-1-1-1.0;80091
KWER02;262;P1-3-1-1-1-1.0;80092
WCOL02;14;P1-1-2-4.0.100;81685
WCOL02;15;P1-1-2-4.0.100;81686
WCOL02;13;P1-1-2-4.0.116;81687
TDUI01;46;P2-8-1.75;82189
SJAK01;46;P2-8-3.0;82197
TDUI01;46;P2-10-1.80;82198
1
2
3
4
5
6
7
open(FILE2, "file2");
while (<TESTFILE>) {
#Hier fehlt mir der code weil ich nicht weis wie ich das "Hash of Arrays" anspreche.
}
close(FILE2);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
my $file = "file2";
open (my $FILE, "<", $file) or die "Error in reading '$file': $!\n";
while (my $line = <$FILE>) {
chomp($line); # zeilenumbruch am ende weg
my @columns = split(/,/, $line); # aufsplitten
my $key = $columns[3]; # 0,1,2,3
if (exists $lut{$key}) { # ist was vorhanden?
# entweder die lange version
my @fields = @{ $lut{$key} }; # komplett dereferenzieren
print "@columns: Ergebnis: $fields[2]\n";
# oder kuerzer, ohne @fields in einer zeile:
# print "@columns: Ergebnis: $lut{$key}->[2]\n";
} # if
else {
print "Fehler: fuer '$key' jibbet nix\n";
} # else
} # while
close ($FILE);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
my $file = "file2";
open (my $FILE, "<", $file) or die "Error in reading '$file': $!\n";
while (my $line = <$FILE>) {
chomp($line); # zeilenumbruch am ende weg
my @columns = split(/,/, $line); # aufsplitten
my @temp = split(/\//, $columns[3]); # aufsplitten
my $key = $temp[0]; # 0,1,2,3
if (exists $lut{$key}) { # ist was vorhanden?
# entweder die lange version
my @fields = @{ $lut{$key} }; # komplett dereferenzieren
print "@columns: Ergebnis: $fields[2]\n";
# oder kuerzer, ohne @fields in einer zeile:
# print "@columns: Ergebnis: $lut{$key}->[2]\n";
} # if
} # while
close ($FILE);
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
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %lut;
my $file1 = './file1.txt';
my $file2 = './file2.txt';
open(my $fh,"<",$file1) or die $!;
while (<$fh>) {
chomp;
my @cur = split(/;/);
push @{$lut{$cur[0]}->{$cur[2]}->{$cur[1]}}, $cur[3];
}
close $fh;
open(my $fh2,"<",$file2) or die $!;
while(<$fh2>){
my ($number,$path) = (split(/,/,$_))[2,3];
my ($path1,$path2) = split(/\//,$path);
if(exists $lut{$path1}->{$path2}->{$number}){
my $string = join(" # ",@{$lut{$path1}->{$path2}->{$number}});
print $string,"\n";
}
}
close $fh2;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
KWER02;262;P1-3-1-1-5-2.0;80077
KWER02;15;P1-3-1-1-5-2.0;80078
KWER02;262;P1-3-1-1-5-1.0;80078
KWER02;15;P1-3-1-1-1-1.0;80093
TDUI01;46;P4-5-1.83;82180
WCOL02;13;P1-1-2-4.0.100;81684
KWER02;14;P1-3-1-1-1-1.0;80091
KWER02;262;P1-3-1-1-1-1.0;80092
WCOL02;14;P1-1-2-4.0.100;81685
WCOL02;15;P1-1-2-4.0.100;81686
WCOL02;13;P1-1-2-4.0.116;81687
TDUI01;46;P2-8-1.75;82189
SJAK01;46;P2-8-3.0;82197
TDUI01;46;P2-10-1.80;82198
1
2
3
2006/01/26,Pfad,46,SJAK01/P2-8-1.0,3263422
2006/01/26,E1,13,WCOL02/P1-1-2-4.0.100,0
2006/01/26,E1,262,KWER02/P1-3-1-1-5-2.0,53
8 Einträge, 1 Seite |