Siechfred: Einem Skalar einen Wert aus externer Datei hinzufügen

Beitrag lesen

Irgendwie klappt der letzte (entscheidende) Schritt nicht, obschon der eigentlich einfach sein müsste.

Was klappt nicht? Steht was im Errorlog? Benutze Data::Dumper, um Dir den Inhalt von Arrays oder Hashes anzeigen zu lassen.

open(AKTHLES,"<","AktuellH.txt") || die "Datei nicht gefunden";
my %Aktuelle_Daten = <AKTHLES>;
close(AKTHLES);

my $GrafTel = my "$Aktuelle_Daten('GrafTel')";

  
Der Inhalt einer Textdatei wird zeilenweise geliefert. Damit kannst Du ihren Inhalt entweder nur einem Skalar (aktuell gelesene Zeile) oder einem Array (alle Zeilen auf einmal) zuweisen. Um eine andere Struktur zu bekommen, musst Du die eingelesenen Daten vorher bearbeiten. So, wie Du hier vorgehst, wird der gesamte Inhalt als Hashkey verwendet, weshalb der Rest vor den Baum gehen muss.  
  
Weise also den Dateiinhalt einem Skalar zu und splitte diesen, denn erst dann kannst Du Deinen Hash füllen.  
  

> Eine denkbare Alternative wäre auch, die "fertigen" Skalare (inkl. Wert) in der externen Datei zu speichern.  
  
Du kannst das ganze auch in Textdateien auslagern, welche kleine Perlschnipsel enthalten, die Du mittels do und Konsorten einbindest.  
  

> Wenn ich nix falsch gemacht habe, sollten in dieser Datei die entsprechenden Werte (mit zugehörigen Namen) als Hash vorliegen:  
> <http://teleskinods.ch/test/source/AktuellH.txt>  
  
Nein, Textdateien können keine Variablen enthalten.  
  
Siechfred

-- 
Chancengleichheit bedeutet nicht, dass jeder einen Apfel pflücken kann, sondern dass der Zwerg eine Leiter bekommt.