afro: Mitteilung ausgeben: no data found

hallo zusammen
über ein perl-script wird auf eine einfache db in einem ascii-file zugegriffen. es sind auf der html-seite zwei suchparameter möglich. falls jetzt in der db nichts gefunden wird, möchte ich an den user eine mitteilung abgeben "no data found" und dieser erscheint dann auf der ergebnisseit in html. wie programmiere ich diese meldung in perl script?
herzlichen dank für eure hilfe
afro

  1. hallo,

    mir fallen da spontan zwei möglichkeiten ein:

    1.) Zuerst einlesen, dann  ausgeben

    open INDATA,$datafile or die "can't open Datafile: $!";
    while(<INDATA>)
       {
       push @Ergebnis,$_ if &gefunden($_);  
       }
    if($#Ergebnis <0) # keine Daten gefunden
      {
      print "no data found"; #nur ein Beispiel
      }
    else
    {
    &ErgebnisAusgeben();
    }

    oder
    2.) On the fly ausgeben, merken ob was ausgegeben wurde, dann Meldung bei Bedarf:

    open INDATA,$datafile or die "can't open Datafile: $!";
    $gefunden = 0;

    while(<INDATA>)
       {
       if &gefunden($_)
         {
         &ZeileAusgeben($_);
         $gefunden++;
         }
       }
    print "no data found" unless $gefunden;

    Die verwendeten Funktionen sind 'dummies', sollten halt auch ausprogramiert werden.

    Die zweite Variante hat den Vorteil, daß sie nicht so speicherintensiv ist. mit '$gefunden' bzw. '$#Ergebnis' kannst Du auch gleich eine Begrenzung mit einbauen, falls zu viele Daten angezeigt werden würden, oder so.

    Die Beispiele sind zwar nicht ganz sauber (kein 'my' und solche Sachen), aber ich denke, das Prinzip wird klar. Den Rest kannst Du ja selber machen.

    Grüße
      Klaus