Thread 2dimensionale Arrays effizient vergleichen (8 answers)
Opened by Juergen at 2010-07-22 11:41

Gast DerDieDas
 2010-07-22 14:25
#140016 #140016
ja HoA!
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl
use strict;
use warnings;

my %hash1 = (
'a' => [1, 2, 3],
'b' => [4, 4, 3],
'd' => [5, 2, 'H'],
);
my %hash2 = (
'a' => [1, 2, 3],
'd' => [5, 'f', 'H'],
'c' => [8, 'r', 9],
);

while (my ($k,$v1)= each %hash1){
if (my $v2 = $hash2{$k}) {
print "$k ungleich" if "@$v1" ne "@$v2" ;
}
}


das ganze kann aber schief laufen wenn in den Arrayelementen ein Leerzeichen vorkommen darf, da muss man sich noch Gedanken über einen sicheren Trenner machen.

Code: (dl )
1
2
3
4
5
6
while (my ($k,$v1)= each %hash1){
local $"="\0";
if (my $v2= $hash2{$k}) {
print "$k ungleich" if "@$v1" ne "@$v2" ;
}
}

Last edited: 2010-07-22 14:36:59 +0200 (CEST)

View full thread 2dimensionale Arrays effizient vergleichen