opi: Datenstrukturen über Sockets

Beitrag lesen

Ach hallo Struppi, nabend!

kann man über Internet Domain Sockets auch Datenstrukturen übertragen?

Nicht direkt nehme ich an (ich kenn mich mit Sockets nicht aus)

Schade das Rolf Rost nicht anwesend ist, der wüßte das glaube ich.
Dann muss ich wohl nochmal googlen, obwohl ich mir jetzt schon
sicher bin, dass dies nicht klappen wird! Schade!

Nein, use Data::Dumper.

Könnte ich mit dem Modul die Struktur einen Hashes auseinander
nehmen? Die Daten müssten vom Client wieder zusammen gesetzt
werden können. Ein Beispiel:

der Hash

my $hash = {
   "key1" => "value1",
   "key2" => "value2",
   "key3" => "value3",
   "key4" => {
      "xkey1" => "xvalue1",
      "xkey2" => "xvalue2",
   },
   "key5" => [ 1,2,3,4,5 ],
};

die Ausgabe zum Client

print "key1:value1\n";
print "key2:value2\n";
print "key3:value3\n";
print "key4:xkey1:xvalue1\n";
print "key4:xkey2:xvalue2\n";
print "key5#1,2,3,4,5\n";

Irgendwie soetwas! Ich weiß, ist kein leichtes unterfangen, aber ich
bin bestimmt nicht der erste, der vor diesem Problem steht.

Oder ich muss dem Client ganz genaue Anweisung geben, damit er weiß,
wann ein Hashkey erfolgt, wann ein Array und wann ein Value.

Um etwas genauer zu sein... genau den Hash, den ich mit der unten
stehenden Funktion zusammen setze, muss an den Client übertragen
werden...

Du kannst auch Funktionsreferenzen als Werte übergeben.

my $hash = {
    "key1" => &func_1,
    "key2" => &func_2,
    "key3" => &func_3,
}

und dann:
my $r = func($hash);

sub func {
my $q = shift;
my $r = {};
foreach(keys %$q)
{
$r->{$_} = &{ $q->{$_} }() if $q->{$_};
}
return $r;
}

Genau das ist es!!! SELFHTML - hier werden sie geholfen :-)

Greez,
opi

--
Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|