Schrift
[thread]6358[/thread]

ARRAY Vergleich HILFE!

Leser: 2


<< >> 4 Einträge, 1 Seite
Gast Gast
 2004-06-23 13:03
#83685 #83685
Hallo an alle,

brauche dringend Hilfe.

ich will zwei ARRAYS vergleichen:
my @daten = ("R300","C12","F2","R12");
my @daten2 = ("R30","C12","F2","R12");

Als output brauche ich ein Array in dem die Elemente von @daten die NICHT im ARRAY @daten2 stehen.
Also in dem Beispiel R300.


Ich muss bis heute Mittag eine Lösung vorlegen, und habe grade einen Blackout;-)

kann mir einer von euch auf die Schnelle weiterhelfen?

Gruß Andreas
renee
 2004-06-23 13:22
#83686 #83686
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my @wanted = ();
my $bool = 0;
foreach my $date (@daten){
foreach my $d (@daten2){
if($date eq $d){
$bool = 1;
last;
}
}
push(@wanted,$date) if($bool == 0);
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
steffenw
 2004-06-23 13:37
#83687 #83687
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
mal ohne geschachtelte Schleifen, könnte sogar schneller sein:
Code: (dl )
1
2
3
4
5
6
7
8
my @daten = ("R300","C12","F2","R12");
my @daten2 = ("R30","C12","F2","R12");
# Menge 1 bilden
my %daten = map +($_ => undef), @daten;
# Subtrahiere von der 1. Menge die 2.
delete @daten{@daten2};
# Ergebnis: nur noch R300
print keys %daten;
\n\n

<!--EDIT|steffenw|1087983476-->
$SIG{USER} = sub {love 'Perl' or die};
steve
 2004-06-23 20:16
#83688 #83688
User since
2004-03-04
52 Artikel
BenutzerIn
[default_avatar]
<< >> 4 Einträge, 1 Seite



View all threads created 2004-06-23 13:03.