Thread Array und Werte - das verstehe ich mal wieder gar nicht... (9 answers)
Opened by jan99 at 2014-11-10 13:50

jan99
 2014-11-10 13:50
#178242 #178242
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Moin !

ich habe eine Blackliste von Namen definiert:

Code (perl): (dl )
my @blackliste_gang_ohne_adress = ('Pergamentmachergang','Adler-Gang','Aegidienhof');


Nun gibt es eine Schleife bei welcher Namen auf Vorhandensein in der Blackliste geprüft werden sollen:

Code (perl): (dl )
1
2
3
4
5
for (sort keys %gang_with_no_adress){
 if ($gang_with_no_adress{$_} == 0 && in_array(@blackliste_gang_ohne_adress,$_) == 1){
   $gang_with_no_adress{$_} = -1;
 }  
}#end-foreach


und die Prüffunktion lautet:

Code (perl): (dl )
1
2
3
4
5
6
 sub in_array
 {
     my ($arr,$search_for) = @_;
     my %items = map {$_ => 1} @$arr; # Zeile 1594
     return (exists($items{$search_for}))?1:0;
 }


Wenn ich das ganze ausführe bekomme ich die Fehlermeldung:

Quote
Can't use string ("Pergamentmachergang") as an ARRAY ref while "strict refs" in
use at C:/strawberry/perl/lib/OSM/osm_jt.pm line 1594.


Wobei mir eine Dumper-Meldung:
Quote
$VAR1 = 'Pergamentmachergang';
$VAR2 = 'Adler-Gang';
$VAR3 = 'Aegidienhof';


liefert.

Ich finde den Fehler mal wieder nicht. Kann mir einer Licht machen?

Gruß Jan :-)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de

View full thread Array und Werte - das verstehe ich mal wieder gar nicht...