Thread Suche Tie-Hash Modul um Flachen Hash in einen Baum zu wandeln
(5 answers)
Opened by topeg at 2010-10-12 17:30
Mal ein paar vereinfachte Beispiele:
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 23 24 25 26 27 28 29 30 31 sub get_element_by_name($$) { my ($conf,$name)=@_; return undef unless(is_valid($conf,'name',$name)); my $system=$conf->{system}; my $data=$conf->{data}->{$system}; return $data->{elements}->{$name} } sub get_element_namespace($$) { my ($conf,$element)=@_; return undef unless(is_valid($conf,'element',$element)); my $system=$conf->{system}; my $data=$conf->{data}->{$system}; return $data->{namespaces}->{$element->{namespace}}; } sub get_namespace_default($$) { my ($conf,$namespace)=@_; return undef unless(is_valid($conf,'namespace',$namespace)); my $system=$conf->{system}; my $data=$conf->{data}->{$system}; my $default=$data->{default}; my $name=$data->{namespaces}->{$namespace}->{$default}; return $data->{elements}->{$name}; } Ähnlich sieht es beim setzen von Werten aus, nur dass an verschiedenen Stellen noch nach bestimmten Werten geprüft wird. weiterhin hat "namespace" so Einträge wie Code (perl): (dl
)
$namespace->{alternative}->{namespaces}->{'namespacex'}->{systems}->{'systemy'}->{name} oder Code (perl): (dl
)
$element->{description}->{lang}->{'de'}->{encoding}->{defalult}->{fallback}->{type}->{'UTF'}->{subtype}='8'; auch ganz nett: Code (perl): (dl
)
1 2 3 4 5 my $fs=$system->{$element->{system}}->{filesystem}; my $sep=$fs->{separator}; my $dname=$fs->{data}->{file}->{name}; my $dfile=$fs->{file}->{$dname}->{absolue}->{path}->{separator}->{$sep} $dfile=$fs->{file}->{$dname}->{is}->{linked}->{to}->{file}->{absolute}->{path}->{separator}->{$sep} if($fs->{file}->{$dname}->{is}->{linked}->{to}->{file}->{absolute}->{path}->{separator}->{$sep}); und da Fehlt noch die abfrage von relativen Pfaden und von wo ein relativer Pfad gesetzt ist, etc. in der Datei steht dann so was wie: Code: (dl
)
system SystemX filesystem file Daten1 is linked to file absolute path separator / = mounts/mounta/data.dat Edit: Was ich will ist ein anderes Dateiformat und ein anderes Script. :-/ Was ich als Rückgaben möchte sind Strings und Hashes. :-) Last edited: 2010-10-12 20:41:10 +0200 (CEST) View full thread Suche Tie-Hash Modul um Flachen Hash in einen Baum zu wandeln |