Thread Werte aus Array über zwei Array vergleichen und löschen (17 answers)
Opened by namenlos at 2014-01-21 16:42

Linuxer
 2014-01-22 00:21
#173118 #173118
User since
2006-01-27
3677 articles
HausmeisterIn

user image
Dann bin ich auch mal so dreist, mein Exemplar zu posten.

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
37
#! /usr/bin/env perl
use strict;
use warnings;


sub remove_duplicates {
    my ( $nameR, $gebR ) = @_;

    die "Arrays are not same size.\n"   if $#{$nameR} != $#{$gebR};

    # identify duplicates and remember their indexes
    my %seen;
    my @idx = grep { $seen{$nameR->[$_].$gebR->[$_] }++ } 0 .. $#{$nameR};

    # remove the identified elements
    for my $i ( @idx ) {
        splice @$nameR, $i, 1;
        splice @$gebR,  $i, 1;
    }
}


my @name = ("heinz", "karl", "Peter", "Anne", "heinz", "Anne");
my @geb = ("20101920", "23011929", "02121915", "06041966","20101920", "07071977");



# keep in mind: this modifies the given arrays
remove_duplicates( \@name, \@geb );


# check result
printf "%8s ", $_           for @name;
print "\n";

printf "%8s ", $_           for @geb;
print "\n";
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Werte aus Array über zwei Array vergleichen und löschen