[Cologne-pm] $${VariablenName} funktioniert nicht immer

Robert Meiser Robert.Meiser at rrz.uni-koeln.de
Tue Jun 17 09:43:55 CDT 2003


> >
> > Derzeitige Lösung:
> > @Suchworte= Liste der im web tatsächlich ausgefüllten Felder
> > (z.B. Vorname, Nachname...)
> > foreach $Datei (readdir(..)) {
> >   open $Datei
> >   ($Vorname,$Nachname...)=split(':' $Datei)
>
> Ahh!  Jetzt versteh' ich.  Nein, in diesem Fall ist ein Hash *wirklich*
> die geeignete Methode.  Wenn Du Soft-Refs aus saemtlichen Parametern

Ist jetzt als Hash realisiert. Interessanterweise ist das Programm
jetzt sogar um ein paar Zeilen kürzer :-).

> machst, die Du ueber's Formular 'reinbekommst, dann kann jemand der via
> Query-String eigene Form-Parameter erzeugt auf moegliche interne
> Variablen zugreifen.  Bestenfalls gibt's 'ne Unknown-Variable Warning,

Das habe ich durch rigorose und ausschliessliche Bearbeitung der
erlaubten Form-Parameter (hoffentlich) ausgeschlossen. Erlaubt
sind nur Buchstaben, Zahlen, '.','*' und '-'. Damit kann man
denke ich keinen Unsinn in einer RegEx machen (?)

> > foreach $Datei (readdir(..)) {
> >   open $Datei
>
> Ouch!  In dem Fall wuerde ich die Daten aufbereiten und in einem
> Dictionary zusammensaugen, statt bei jeder Anfrage alle Dateien erneut
> zu durchsuchen.  Wirf einen Blick auf DBM und tie.  Jedesmal, wenn eine
> Datei veraendert wird, dann kannst Du einen Aufbau- oder Korrektur-Job
> laufen lassen.  Dass sollte die Sache vereinfachen.

Ich wälze mich gerade durch die Dokumentationen zu DB_FILE und überlege
mir wie ich das sinnvoll implementieren kann. Wenn ich das besser
verstanden habe, wird bestimmt noch die ein oder andere Frage kommen...

> Wenn Dir ein naechtlicher Job vom Intervall her zu langsam ist, dann
> kannst Du diesen Teil notfalls auch in Dein Script einbauen, aber auch
> in diesem Fall wuerde ich nur die neuen Dateien anfassen, und den Rest
> aus 'ner DBM holen.

Dummerweise ändern sich im schlimmsten Fall alle 15Min die Daten. D.h.
sowohl der Dateiinhalt unterliegt Änderungen als auch die Dateianzahl. Ich
versuche jetzt entweder meine (neu zu bauende ;-) Auskunftsdatenbank
regelmässig neu zu generieren (15Min-Takt) oder parallel zu den anderen
Datenquellen mitzuaktualisieren.

> Jetzt hast Du erstmal ein paar Denkanstoesse.  Wenn Du Details brauchst,
> dann frag nach.
Danke. werd ich bestimmt

Gruss
Robert




More information about the Cologne-pm mailing list