[LinuxOB] CD-Verzeichnis

Christian Hesse christian.hesse at lugor.de
Mi Jan 14 01:15:57 CET 2004


On Wednesday 14 January 2004 00:16, Daniel Dombrowski wrote:
> On 2004.01.13 23:52, Christian Hesse wrote:
> > On Tuesday 13 January 2004 23:44, Daniel Dombrowski wrote:
> > > On 2004.01.13 23:28, Christian Hesse wrote:
> > > > On Tuesday 13 January 2004 23:13, Daniel Dombrowski wrote:
> > > > > Wenn man kaputte Regexes eingibt, dann mag er das auch nicht.
> > > > > Z.B. bei ).* sieht das nicht so toll aus.
> > > >
> > > > Da ist was dran. Irgend eine Idee, wie ich das ohne großen
> > > > Aufwand beheben kann?
> > >
> > > Vielleicht könntest du mal das Stück Code posten, wo das Script
> > > crasht (so sieht es jedenfalls für mich aus) und welche
> > > Fehlermeldung es gibt bzw. mal ein paar mehr Infos, was dann nicht
> > > mehr so läuft, wie es soll.
> >
> > Also das wichtige Stück code sieht jetzt so aus:
> >
> > <snip>
> > while ($str =~ /$_[1]/ && $str ne '')
> > {
> >  $str =~ s/(.*?)($_[1])//;
> >  $out .= HTML::Entities::encode($1) . '<span class="emph">' .
> > HTML::Entities::encode($2) . '</span>';
> > }
> > $out .= HTML::Entities::encode($str);
> > </snip>
> >
> > Das ist die Fehlermeldung dazu:
> >
> > Unmatched ) in regex; marked by <-- HERE in m/) <-- HERE .*/
> > at /web/cdv/cgi-bin/search.pl line 123.
> >
> > Zeile 123 ist natürlich die Bedingung in der Schleife, ansonsten
> > würde es zwei Zeilen später auch nochmal krachen wenn es noch nicht
> > passiert wäre.
>
> Sowas in der Richtung hatte ich erwartet. Verwendest du den Regex auch
> noch im MySQL-Querry? Wenn ja, wäre es vielleicht möglich, den Fehler
> direkt nach dem Statement abzufangen. Alternativ könntest du dir auch
> mal die Beschreibung von "eval" angucken, damit könnte man da bestimmt
> auch was machen. Eine Funktion a la "checkregex" scheint es wohl nicht
> zu geben ... :(

Also ich hab's jetzt mit eval gemacht, funktioniert eigentlich ganz gut. Das 
wird jetzt direkt am Anfang, also auch vor den MySQL-Querry abgefangen, so 
kann ich da auch nichts durcheinander bringen. Jetzt gehe ich erstmal pennen 
und mache das Notebook aus, ihr könnt dann irgendwann morgen weitertesten. :)

Gruß
  Christian

-- 
 Linux - Damit der Ausmehmefehler nicht zur Regel wird.




Mehr Informationen über die Mailingliste linux