Thread gleiche Werte in hash schnell finden? (9 answers)
Opened by perlensammler22 at 2015-09-11 12:31

GwenDragon
 2015-09-11 17:16
#182168 #182168
User since
2005-01-17
14760 Artikel
Admin1
[Homepage]
user image
Kennst du grep und map?
Wenn nein empfehle ich http://perlmaven.com/transforming-a-perl-array-usi... und http://perlmaven.com/filtering-values-with-perl-gr... zu lesen.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
my $sendMail = 
  join ",",                                 # setze diese Werte als kommagetrennte Zeichenkette zusammen
  #                                         # aus den Werten des map
  map { 
        $hash->{$_}->{Mail}                 # erzeuge ein Array aus Mailadressen mit den gefundenen Schlüsseln 
  }                                         # aus den Werten des grep  
  #
  grep {                                    # suche alle Schlüssel 
     $externeRIC                            # bei denen externeRIC 
        ~~                                  # übereinstimmt (smartmatch)
        [                                   # mit dem Array  
          split /,/, $hash->{$_}->{RIC}     # aus den mit Komma gesplitteten Werten von RIC
        ]                                       
  } 
  #
  keys %$hash;                              # iteriere über alle Schlüssel des Hashes

Last edited: 2015-09-11 17:21:02 +0200 (CEST)

View full thread gleiche Werte in hash schnell finden?