Thread Suche Tie-Hash Modul um Flachen Hash in einen Baum zu wandeln (5 answers)
Opened by topeg at 2010-10-12 17:30

topeg
 2010-10-12 20:28
#141847 #141847
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
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