Michael Schröpl: Dateien lesen

Beitrag lesen

@Zeilen=("$Daten");
  open(KEEPDAT,"<../temp/kaufen.txt");
    while(<KEEPDATEI>)
   {
    push(@Zeilen,$_);
   }
  close(KEEPDAT);
  
  @Formularfelder = split(/&/, $Daten);
  usw.
Was ist hier falsch beim Einlesen ?

Hm ... Du speicherst den Dateiinhalt in @Zeilen, willst dann aber @Daten zerlegen?

Ich habe versucht,$Daten vor dem in die Datei schreiben auseinanderzunehmen und nur einzelne Teile in die txt Datei zu schreiben,
print "$Formular[31]"\n;
aber in  txt steht dann $Formular[31] und nicht der Wert davon.

Das \n gehört in die Zeichenkette hinein. Solche kleinen Fehler machen das Debuggen schwierig.
Beispielsweise könntest Du in Deinem Source-Code print "$Formular [31]"; geschrieben haben - schon dieses Leerzeichen vor der Klammer würde ausreichen, daß es nicht mehr funktioniert.
Also bitte Original-Code mit cut&paste übernehmen, nicht ungefähr abschreiben.

Das zweite script sollte txt holen, und das ist ja ein Datenstrom(mit& und=) den ich noch auseinandernehmen muss.Ich nenne ihn wieder $Daten.

Das Auseinandernehmen würde ich schon im ersten Skript erledigen. Insbesondere, weil Du dann lesbarere Daten in Deiner Datei stehen hast.

Bau mal mehr Zwischenausgaben in Dein Skript hinein (wahlweise auf Bildschirm oder LOG-Datei, je nachdem, wie Du das Skript testest).

Am liebsten würde ich schon nur einzelne Teile aus dem ersten$Daten in die txt Datei schreiben, und nicht den ganzen Datenstrom.
Muss ich dazu zuerst definieren zum Beispiel
$Teil=Formular[31];  ??

Nein.