String durchsuchen und Ergebnisse in Array speichern - Nur wie?
zehner
- perl
Hallo liebes Forum,
ich habe folgendes vor und leider noch nicht den rechten Ansatz gefunden:
Ich habe in einer HTML-Seite, die im Vorfeld in die Variable $text eingelesen wurde, an diversen Stellen kleine Einfügungen zu machen und habe diese Stellen mit der Kennzeichnung ??insert_VARIABLENNAME?? versehen. Diese Stelle soll dann durch die entsprechende Variable mit dem jeweiligen Namen, nennen wir ihn pauschal "VARIABLENNAME", ersetzt werden.
Da allerdings die Anzahl an potentiellen Variablen recht groß ist (>500 Stck), halte ich es für nicht sehr sinnvoll, bei jedem Aufruf alle 500 Variablennamen samt Wert aus der MySQL-DB zu ziehen, in ein Hash zu laden und dann per Regulären Ausdruck einfach einzusetzen.
So ist es derzeit gelöst und natürlich nicht sehr performant.
Daher habe ich mir überlegt, dass es viiiiel sinnvoller wäre, zuerst einfach die ganze HTML-Seite, sprich "$text" nach den ??insert_VARIABLENNAME?? zu durchsuchen, die verschiedenen "VARIABLENNAMEn" in einem Array zu speichern und einfach nur diese benötigten Variablen samt Werte aus der MySQL-DB zu laden und dann einzufügen.
Sprich: So muß ich nur vielleicht 25 statt >500 Werte bei jedem Aufruf einlesen.
Ich hoffe, ich konnte den Sachverhalt einigermaßen verständlich beschreiben und einer von euch Perl-Cracks hat eine gute Idee, wie ich das Problem lösen kann.
Vielen Dank im Voraus,
Zehner
Hallo,
[...] und habe diese Stellen mit der Kennzeichnung ??insert_VARIABLENNAME?? versehen. Diese Stelle soll dann durch die entsprechende Variable mit dem jeweiligen Namen, nennen wir ihn pauschal "VARIABLENNAME", ersetzt werden.
Da allerdings die Anzahl an potentiellen Variablen recht groß ist (>500 Stck), halte ich es für nicht sehr sinnvoll, bei jedem Aufruf alle 500 Variablennamen samt Wert aus der MySQL-DB zu ziehen, in ein Hash zu laden und dann per Regulären Ausdruck einfach einzusetzen.
als allererstes würde ich die RegExpe entsorgen, durch einfache Stringoperationen ersetzen und den Performanceunterschied messen.
Als zweites auf die benötigten reduzieren und erneut messen.
Freundliche Grüße
Vinzenz
hi!
ich habe folgendes vor und leider noch nicht den rechten Ansatz gefunden:
Ansatz: verwende was fertiges ;)
http://perl.apache.org/docs/tutorials/tmpl/comparison/comparison.html
bye, Frank!