Jonas: 2 Arrays in bestimmten Feldern vergleichen

Beitrag lesen

Nachtrag:

Habe nun folgendes versucht:

@array1 = ("test1|name1|b1","test2|name2|b2","test3|name3|b3","test4|name4|b4","test5|name5|b5");
@array2 = ("test12|name1|b1","test22|name22|b2","test32|name3|b3","test42|name4|b4","test52|name5|b5");

@union = @intersection = @difference = ();
    %count = ();
    foreach $element (@array1, @array2) { $count{$element}++ }
    foreach $element (keys %count) {
 push @union, $element;
 push @{ $count{$element} > 1 ? @intersection : @difference }, $element;
    }

Also @union erhalte ich nun folgende Elemente zurück:
test1|name1|b1
test52|name5|b5
test22|name22|b2
test5|name5|b5
test2|name2|b2
test3|name3|b3
test32|name3|b3
test42|name4|b4
test4|name4|b4
test12|name1|b1

Logisch, keines der Elemente ist doppelt vorhanden.

Jedoch sollte genau diese Operation nur auf die "name" Felder angewandt werden.