Thread probleme mit symbolischen Referenzen: symbolische Referenzen (3 answers)
Opened by mama at 2005-05-29 18:23

mama
 2005-05-29 18:23
#55157 #55157
User since
2005-05-29
3 Artikel
BenutzerIn
[default_avatar]
Hey,

ich schreibe gerade an einem modul, in dem an eine funktion eine variable mit folgendem aussehen uebergeben wird: teil1.teil2.teil3 usw, die laenge ist beliebig.
Die einzelnen teile der uebergebenen variable sind in einem hash eines objektes gespeichert, also so:
$object_ref->{'config_tree'}{'teil1'}{'teil2'}{'teil3'} usw, haengt vom uebergebenen parameter ab. config_tree wird immer vornedrangehaengt.

um den wert im hash zu erreichen, habe ich folgende funktion:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sub name_of_conf
{
my $p = shift; #die objektreferenz
my $path = shift;
my @name = split /\./, $value;
print "In name_of_conf: name = @name\n";

my $varname = '{"config_tree"}';
while( shift @name ) {
$varname .= "{\"" . "$value" ."\"}";
}

print "\t\tVarname = $varname,\tValue: $value,\t";
print "dereferenced: " . $p->$varname . "\n";

return $varname;
}

Ich habe hier also einen symbolischen link, der eigentlich funktionieren muesste.

wenn ich non das skript ausfuehre, kommt mir folgendes:
Can't locate object method "{"config_tree"}{"table"}" via package ...

dabei habe ich nur table als parameter uebergeben, und die funktion so aufgerufen:
$object_ref->name_of_conf( "table" );


Danke\n\n

<!--EDIT|mama|1117376766-->

View full thread probleme mit symbolischen Referenzen: symbolische Referenzen