[Vienna-pm] Suchen nach Begriffen innerhalb strukturierter Datei

Gerfried Fuchs alfie at ist.org
Fri Jan 2 18:12:01 CST 2004


* Christian Schoeller <c_p_s at gmx.net> [2004-01-02 22:31]:
> Mail-Followup-To: Christian Schoeller <c_p_s at gmx.net>,
> 	vienna-pm at mail.pm.org

 Brav :)  Sollten mehr Leute verwenden.....

> -- <dbase exemplarisch> --
> Vorname: Benjamin
> Nachname: Bluemchen
> Strasse: Zuckerstueckchenstrasse 1
> PLZ: 0101
> Ort: Neustadt
> -- </dbase> --

 Die Reihenfolge ist immer gleich? Dann ist es kein Problem:

> -- <search.pl> --
> #!/usr/bin/perl

 use warnings;
 use strict;

 Wurde schon gesagt, aber kann nicht oft genug gesagt werden.

> use CGI qw(:standard);
> print "Content-type: text/plain\n\n";
> my $such=param('such');
> open DBASE, "<dbase";
> my $zeilen=join '', <DBASE>;
> if ($zeilen=~(/.*(Vorname.*?$such.*?\n{2}).*/is)) {

 <http://perlmonks.org/?node=Death+to+Dot+Star!>

> Ich frage mich nun, wie ich es schaffe, mehrere Datensaetze ausgeben
> zu koennen, falls "such" auch auf mehrere zutrifft.

 Ich würde einen anderen Seperator verwenden zum Trennen der Einträge
als Newline, sondern Newline zur zum Trennen der Datensätze. Dann kannst
Du mit grep arbeiten.

> Die Schwierigkeit liegt IMHO darin, dass nach abgearbeiteter
> if-Bedingung $1 genau einen Datensatz als Wert hat.

 Eine while-Schleife mit /c könnte auch zum Erfolg führen.  Damit hab
ich allerdings noch nicht gearbeitet, musst Du Beispiele suchen.

> Moeglicherweise liege ich allerdings auch _komplett_ falsch und mein
> Skript hat sowieso den falschen Ansatz.

 Das Problem ist das Datenformat.  DBD::SQLite kann hier helfen.

 Bis dann,
Alfie
-- 
<Omnic> no, yes, I am planning on doing your application sometime in the next
          few days.
<Omnic> few == 2 or 3... not like, "potato will be released in the next few
          days"                   -- #Debian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20040103/91f3ee34/attachment.bin


More information about the Vienna-pm mailing list