Klaus Mock: Ich versteh die Logik hierbei nicht

Beitrag lesen

Hallo,

Ich habs jetzt folgendermaßen gemacht:

[...]

So gehts zwar,

Hier nochmals mein Vorschlag:

<code>
#!C:/Perl/bin/Perl.exe -w

use strict;
use CGI;
my $query = new CGI;
my $verzeichnis = '.'; # wobei noch anzmerken ist, das das aktuelle Verzeichnis nicht wirklich definiert ist
my  @daten;
print $query->header;

if(-e "$verzeichnis/datenbank.txt")
  {
  open(FILE,"$verzeichnis/datenbank.txt") or die "Kann Datenbank nicht oeffnen : $!\n";
  @daten = <FILE>;
  close FILE or die "Kann Datenbank nicht schliessen : $!\n";
  }

if( scalar @daten == 0)
 {
 print 'Datei nicht gefunden oder es steht nix drin';
 }
</code>

aber ich versteh das mit @daten eq '' oder "" noch nicht ganz.

Weil Du hier ein Array (anscheinend die Anzahl der Arrayelemente) mit einem Text vergleichst. Und da ist die Wahrscheinlichkeit ziemlich groß, daß nicht das gewünschte Ergebnis erzielt wird.

Wie kann ich eigentlich "Falls Array leer ist" sagen? if (@array ??

( scalar @daten == 0)
oder (inzwischen etwas verpönt)
($#daten == -1)

Grüße
  Klaus