Ulla: PLZ auslesen und in Betreff-Zeile einfügen

Hallo zusammen,
ich hoffe, es kann mir jemand helfen.
Ich muß ein Perl-Skript abändern, daß jemand anderes geschrieben hat.
Leider reichen meine Perl-Kenntnisse noch nicht weit genug, um folgendes Problem zu lösen (und der, der es geschrieben hat, kann es irgendwie auch nicht):

Ein Perl-Skript soll aus einem Formular die Benutzereingaben auslesen
und die PLZ in der Betreffzeile ausgeben, damit die Mails später leichter sortiert werden können.

Am Anfang des Skripts werden die Variablen definiert:

Variablen:

$gobackurl = "/";
$mailto = "noname@nowhere.de";
$webmaster = "webmaster@nowhere.de";
$title = "Lieferunterbrechung eines Abos";

Fügt man hier

$title = "P $daten('sPLZ') Lieferunterbrechung";

ein, wird als Betreff "P Lieferunterbrechung" ausgegeben,
die PLZ wird also nicht ausgelesen.
(Das restliche Formular funktioniert übrigens perfekt,
sowohl Rückgabeseite als auch e-mail-Versand.)

Fügt man diese Zeile
($title = "P $daten('sPLZ') Lieferunterbrechung";)
unterhalb von

3. Felder abfragen  -------------------------------------

else {
  if (&ReadParse(*Daten)) {
   for ($i = 0; $i < $Anz_Buch; $i++) {        
     if ($Daten{$Buecher[$i]} ne "0") {
       }
     }

ein (denn es könnte ja sein, daß das Skript die Daten erst weiter unten verarbeitet, ihr seht, ich bin völlige Anfängerin), dann bekommt man nur Fehlermeldungen, d.h. das Skript wird überhaupt nicht verarbeitet.

Ich nehme an, es ist nur eine Kleinigkeit
aber nun sitze ich hier und finde keine Lösung.

Hat vielleicht einer von Euch eine Idee, wo der Fehler liegt,
bzw. welchen Befehl ich wo einbauen muß?

Vielen, vielen Dank für Eure Hilfe.

Viele Grüsse
Ulla

  1. Hallo Ulla,

    ich nehem mal an, daß daten ein Hash sein soll, also %daten.
    Dann greifst du mit $daten{$key} auf einzelne Elemente zu.
    $daten('sPLZ') ist irgendwie falsch.

    Also statt
    $title = "P $daten('sPLZ') Lieferunterbrechung";
    einfach
    $title = "P $daten{'sPLZ'} Lieferunterbrechung";

    Das sollte wirken.

    CYa
    GONZO

    1. Hi Gonzo,

      Also statt
      $title = "P $daten('sPLZ') Lieferunterbrechung";
      einfach
      $title = "P $daten{'sPLZ'} Lieferunterbrechung";

      Da musst ich jetzt aber mal ganz dicht an den Monitor gehen und zweimal hingucken, um den Unterschied der beiden Zeilen überhaupt erkennen zu können ;-) Man(n) wird langsam alt *greisel*

      Gruß AlexBausW

      P.S.: Sind jetzt nun meine Augen so schlecht, oder ist die Auflösung meines Monitors zu klein? *g*
      P.P.S.: Ich muss glaub` ich mal Pause machen ;-)

      1. Nochmal Mich,

        P.S.: Sind jetzt nun meine Augen so schlecht, oder ist die Auflösung meines Monitors zu klein? *g*

        Das Alter macht sich nicht nur in einer Augenschwäche und allgemeinem Nachlassen der Regenerations- bzw. Teilungsfähigkeit sämtlicher Körperzellen bemerkbar, nein, auch die geistige Retardation schreitet unaufhaltsam voran *arrg*
        Es muss natürlich heisen:
           > "oder ist die Auflösung meines Monitors zu groß?"
        Ich hoffe man kann mir noch mal verzeihen ;-), daß ich mein Kurzpostingskontingent innerhalb so kurzer Zeit völlig aufgebraucht habe ;-)

        Gruß AlexBausW

      2. Hallo Alex,

        mir ging es auch nicht viel besser... selbst zeichenweises
        Vergleichen hat im _ersten_ Anlauf nichts gebracht *g

        Das liegt aber weniger an der Hardware sondern daran, dass wir alle
        gewohnt sind, tagtäglich Unmengen an Informationen aufzusaugen und
        das meiste doch nur überfliegen...

        Oder ist es doch das Alter? *fg*

        Schönes Wochenende & viele Grüsse

        Alex

        <img src="http://home.germany.net/100-80215/alex/images/promo/akonline.gif" alt="">

        Jetzt auch mit SELFspezial-Visitenkarte:
        http://www.atomic-eggs.com/selfspezial/daten/101.html