Thread übergabe an sub (3 answers)
Opened by jan999 at 2010-07-16 10:47

jan999
 2010-07-16 10:47
#139845 #139845
User since
2009-04-02
109 Artikel
BenutzerIn
[default_avatar]
hi !

ich habe folgendes - vereinfacht zusammengebaut:

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
my %config=(
  osmfile=>'',
  deffile=>'',                      # Name der Definitionsdateien für die Auswertung
 
  icon_size=>"20,20",               # Defaultgroesze für die Icons
  icon_offset=>"10,10",             # Versatz der Icons
  rel_folder_icon=>"icon/",         # relative Angabe zu den Icons auf dem Webbrowser
  
  image_size=>"100,50",             # Defaultgroesze für die Bilder die ggf. eingefunden werden
  rel_folder_image=>"image/",       # relative Angabe zu den Bildern auf dem Webbrowser
  local_folder_image=>"image/",     # Verzeichnis mit eventuell einzubindende Bilder
  
  local_folder_poi=>"poi/",         # Verzeichnis für die Ablage der POI-Dateien
  local_folder_report=>"report/",   # Verzeichnis für die Ablage der Reports
  local_folder_wiki=>"wiki/",       # Verzeichnis für die Ablage der Reports
  
  verbose=>1 ,
);

....

OsmPM_open_files($poi_defintion->{title}, %config);


in der Sub steht dann am Anfang:

Code (perl): (dl )
1
2
3
4
5
6
7
8
sub OsmPM_open_files
{ 
  my $title = shift;
  my %conf = shift;

  print Dumper(%conf);
...
}


Wenn das ganze gestartet wird kommt die Meldung:
Quote
Odd number of elements in hash assignment at poi_map_dev.pl line 151.


Nach meiner bisherigen Suche liegt hier wohl ein Fehler bzgl. der Datenentnahme (Hash aus Hash) vor. Irgendwie verstehte ich das aber nicht so ganz!

Deine Dump-Ausgabe direkt vor dem Aufrufen der Sub liefert:
Quote
$VAR1 = 'verbose';
$VAR2 = 1;
$VAR3 = 'image_size';
$VAR4 = '100,50';
$VAR5 = 'local_folder_wiki';
$VAR6 = 'wiki/';
$VAR7 = 'local_folder_report';
$VAR8 = 'report/';
$VAR9 = 'local_folder_poi';
$VAR10 = 'poi/';
$VAR11 = 'rel_folder_icon';
$VAR12 = 'icon/';
$VAR13 = 'icon_size';
$VAR14 = '20,20';
$VAR15 = 'deffile';
$VAR16 = 'definition/fuel_station.dat';
$VAR17 = 'local_folder_image';
$VAR18 = 'image/';
$VAR19 = 'icon_offset';
$VAR20 = '10,10';
$VAR21 = 'rel_folder_image';
$VAR22 = 'image/';
$VAR23 = 'osmfile';
$VAR24 = 'osm/dogbag_world.osm';


und in der Sub nur noch...
Quote
$VAR1 = 'verbose';
$VAR2 = undef;


Kann mir einer weiterhelfen ?

Gruß Jan :-)

View full thread übergabe an sub