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

Gast wer
 2010-07-22 20:16
#140020 #140020
Code (perl): (dl )
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
#!/usr/bin/perl
use strict;
use warnings;

my @arr1 = (
['a', 1, 2, 3],
['b', 4, 4, 3],
['d', 5, 2, 'H'],
);
my @arr2 = (
['a', 1, 2, 3],
['c', 8, 'r', 9],
['d', 5, 'f', 'H'],
);

my %joined;
push(@{$joined{$_->[0]}},{ref=>$_, name=>'array1'}) for(@arr1);
push(@{$joined{$_->[0]}},{ref=>$_, name=>'array2'}) for(@arr2);

for(values(%joined))
{
  if(@$_==1)
  {
    my $lst=join(', ',@{$_->[0]->{ref}});
    print "($lst) nur in $_->[0]->{name}\n";
  }
  else
  {
    my $lst1=join(', ',@{$_->[0]->{ref}});
    my $lst2=join(', ',@{$_->[1]->{ref}});
    if($lst1 eq $lst2)
    { print "In beiden ok ($lst1)\n"; }
    else
    { print "In beiden nicht ok ($lst1) <> ($lst2)\n"; }
  }
}

Last edited: 2010-07-22 20:25:43 +0200 (CEST)

View full thread 2dimensionale Arrays effizient vergleichen