Hallo,
wenn Du eine Datei nach dem Muster hast:
wert1|wert2|wert3 usw...
wert1|wert2|wert3 usw...
wert1|wert2|wert3 usw...
dann kannst Du eine while Schleife drüberlaufen lassen die je nach übergebenem Wert eine Zeile ausgibt oder wenn nichts gefunden eine Fehlermeldung auswirft.
#!/usr/bin/perl
#Fehlerausgabe an Browser
use CGI::Carp qw(fatalsToBrowser);
use strict;
Dateiflock
use Fcntl qw(:DEFAULT :flock);
print "Content-type: text/html\n\n";
der Wert nach dem gesucht werden soll
my $eingabe = "Dein_Wert";
my @zeile = ();
my $gefunden = 0;
open(DATEI,"<liste.dat") or die "Kann Datei liste.dat nicht oeffnen $!\n";
flock (DATEI, 2);
while(<DATEI>) {
chomp;
@zeile = split(/|/,$_);
if ($eingabe eq $zeile[0]) {
$gefunden = 1;
last;
}
}
close(DATEI);
if ($gefunden) {
Ausgabe der Zeile...
print "$zeile[0] - $zeile[1] - $zeile[2] - $zeile[3] - $zeile[4] ...";
} else {
...oder nix da
print "Keine Daten gefunden";
}
Gruß Helmut