Peter: Stringabfrage mit unless oder if

Beitrag lesen

Hi Leute!

Ich habe mal wieder ein Problem als PERL-Anfänger und hoffe auf Eure Mithilfe. Ich habe eine Art kleine Datenbank konzipiert, die auch fehlerfrei funktioniert. Nur wollte ich jetzt die Datenauflistung formatieren und das gelingt mir einfach nicht.

Ich wollte z.B., wenn in den Daten keine eMail-Adresse eingegeben wurde, auch keinen Eintrag im Suchergebnis haben. Zur näheren Erklärung: Ich möchte ein Bild (im Beispiel mail.jpg) nur anzeigen, wenn auch ein eMail-Eintrag in den Daten vorhanden ist.

Hier nun mein PERL-Skript:

$fname = $FORM{'name'};

open(IN,'<daten.csv') or die 'Daten können nicht geoeffnet werden: '.$!;
my($eingangszeile);
while($eingangszeile = <IN>)
   {
   my($name,$vorname,$strasse,$ort,$plz,$url,$email,$telefon,$sperre,$id) = split(/;/,$eingangszeile,10);
   if($fname eq $name) {
     $er = "okay";
     print "<font color=ffc0c0>$name, $vorname, $strasse, $plz $ort, $telefon, <a href=$url target=_blank><img src=homepage.jpg></a>";
     unless($email eq "") { print ", <a href=mailto:$email><img src=mail.jpg></a>"; }
     print "<br>";
   }
   }
close(IN) or die 'Daten können nicht geschlossen werden: '.$!;
<

In der automatisch generierten Datei 'daten.scv' ist eine Liste mit den Daten. Die Datenfelder sind durch Semikola getrennt und ein leeres Feld ist ohne ein Leerzeichen (also z.B. http://www.homepage.de;;) formatiert.

Ich hoffe, Ihr versteht, wie ich es meine.

Vielen Dank für Eure schnelle Unterstützung.

Ciao
Peter