Hi,
Ich habe eine Art kleine Datenbank konzipiert,
Pawlow hat mich erwischt: Datei != Datenbank.
Nur wollte ich jetzt die Datenauflistung formatieren und das gelingt mir einfach nicht.
Hm. Woran liegt das Deiner Meinung nach?
$fname = $FORM{'name'};
Ich vermute, Du möchtest ganz, ganz, ganz dringend
perldoc CGI
lesen.
open(IN,'<daten.csv') or die 'Daten können nicht geoeffnet werden: '.$!;
Schön!
my($eingangszeile);
Listenkontext (Klammern) ist hier zwar nicht falsch, aber auch nicht nötig. Erst wenn Du mehrere Variablen in einer 'my'-Anweisung deklarierst, brauchst Du ihn.
while($eingangszeile = <IN>)
Du kannst übrigens auch schreiben:
while (my $eingangszeile = <IN>) {
Beachte übrigens, dass ich perldoc perlstyle
-konform hinter while ein Leerzeichen gelassen und die geschweiften Klammern in der selben Zeile begonnen habe :-)
my($name,$vorname,$strasse,$ort,$plz,$url,$email,$telefon,$sperre,$id) = split(/;/,$eingangszeile,10);
Hast Du Dich darum gekümmert, dass keine ";" innerhalb der einzelnen Felder vorkommen können? Falls ja, hast Du offenbar die Dekodierung vergessen; falls nicht, hast Du ein Problem.
Die Datenfelder sind durch Semikola getrennt und ein leeres Feld ist ohne ein Leerzeichen (also z.B. http://www.homepage.de;;) formatiert.
Ja - das nennt sich CSV ;-) Vielleicht ist der Tabulator als Trennzeichen geeigneter; bedenke aber, dass man selbst in Browser-Eingabefeldern dieses Zeichen unterbringen kann.
Ich hoffe, Ihr versteht, wie ich es meine.
Ich nehme an Du möchtest wissen, wie Du auf die Existenz einer Mailadresse prüfst. Dazu findest Du in
perldoc perldata
einen Absatz, der beschreibt, wann ein Skalar als TRUE gilt (und genau das kannst Du ja mit if abprüfen).
Cheatah