Heribert Wettels: Nochmal Perl (aber dringend)

Beitrag lesen

Hallo liebe Surferinnen und Surfer!

Ich habe noch einmal eine Frage zu Perl:

Ich will Daten, die in einer DAT-Datei gespeichert sind, zusammenhängend aufführen. OK,
das ist eine etwas doofe Erklärung, aber vielleicht versteht man es ja, wenn man den Teil
des Sourcecodes sieht, den ich dafür evtl. verwenden wollte, der aber nicht klappt:

open(DAT,"dat.dat");
@dat = <DAT>;
close(DAT);

for(@dat)
{

»»  ($nick, $pwd, $email, $hp) = split(/;/, $_);
»»  if($Formular{'nick'} eq $nick)
»»  {
»»  print "<ul>\n<li>$email</li>\n<li>$hp</li>\n</ul>\n";
»»  }

}

Ich weiß auch in etwa, warum das nicht funktionieren kann, aber ich suche ine Lösung, mit
der es Funktionieren kann.
Gibt es z.B. etwas, dass die Bedingung so darstellt:
"sobald"($Formular{'nick'} eq $nick)

oder muss ich es ganz anders darstellen?

Auf bald dann...

Wenn ich es richtig verstehe, hast Du in der *.dat für jeden User eine Zeile und suchst nun nach dem User "nick" um seine E-Mail Adresse auszugeben. Ich würde die gesamte Datei mit einem foreach durchforsten, etwa so:

foreach $dat(@dat)
{
if ($dat =~ /nick/)
{
  print "Habe "nick" in $dat gefunden!";
}
}
    
In $dat steht dann die korrekte Zeile, und die kannst Du dann ja noch einer weiteren Behandlung unterziehen - also z.B. das splitting.

Schick mal 'ne Mail, ob es funktioniert.

Heribert