Thread grep mit array of hashes (10 answers)
Opened by vayu at 2006-06-16 11:34

vayu
 2006-06-16 11:34
#67395 #67395
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;


my @ar1 = ( {'name' => 1, 'id' => 1},
{'name' => 2, 'id' => 2},
{'name' => 3, 'id' => 3},
{'name' => 4, 'id' => 4},
{'name' => 5, 'id' => 5}
);
my @ar2 = qw(4 5 6 7 8);

foreach(@ar1) {

if( grep (/$_->{'name'}/, @ar2) ) { # Zeile 18
print $_->{'name'}."drin\n";
}
}


also eigentlich ganz einfach. ich möchte einfach nur schauen, ob ein name aus meinem AoH in dem array @ar2 vorkommt.

ich bekomme aber folgende fehlermeldung:

Quote
Can't use string ("4") as a HASH ref while "strict refs" in use at test1.pl line 18.
Attempt to free unreferenced scalar: SV 0x22529c, Perl interpreter: 0x2242bc.


was mache ich da falsch? wenn ich $_->{'name'} ausprinte krieg ich auch jedes element im schleifendurchlauf auf die konsole geschrieben, aber im grep geht das nicht?\n\n

<!--EDIT|vayu|1150443962-->

View full thread grep mit array of hashes