opi: Socket auslesen und Datenverarbeitung

Beitrag lesen

Hallo,

Das ist m.E. eine Frage der Geschwindigkeit und des verfügbaren Speichers. Natürlich könntest du dir eine Datenstruktur anlegen, die zunächst die erhaltenen Daten speichert, die Verbindung wieder beendet und dann die Verbindung zum nächsten Server aufbaut usw.,

Es ist nur so, dass die Datenstruktur ziemlich groß ist. Ich würde
die Daten in einen Hash packen, der dann allerdings sehr viele
Schlüssel haben wird. Da wäre dann auch schon gleich meine nächste
Frage...

Ist es üblich, dass man die Schlüsselnamen für alles mögliche
missbraucht? Beispielsweise würde ich, um den Hash nach der
Verarbeitung besser auslesen zu können, den ersten Key als Datei-
namen nutzen und zu guter Letzt die Daten Zeilenweise als Array
dort ablegen. Beispiel:

Beispiel-Hash:

use Fcntl qw(:DEFAULT :flock);  
  
my $hash = {};  
$hash->{Datei_1}->[0] = "1 2 3 4 5";  
$hash->{Datei_1}->[1] = "1 2 3 4 5";  
$hash->{Datei_2}->[0] = "1 2 3 4 5";  
$hash->{Datei_2}->[1] = "1 2 3 4 5";  
$hash->{Datei_3}->[0] = "1 2 3 4 5";  
$hash->{Datei_3}->[1] = "1 2 3 4 5";  
$hash->{Datei_4}->[0] = "1 2 3 4 5";  
  
# Daten wegschreiben  
foreach my $file (keys %{$hash}) {  
   die "datei $file kann nicht geöffnet werden\n"  
      unless sysopen FILE,"./$file",O_WRONLY | O_APPEND | O_CREAT;  
   flock(FILE,LOCK_EX);  
   foreach my $line (@{$hash->{$file}}) {  
      print FILE "$_\n";  
   }  
   close FILE;  
}

Greez,
opi

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