[LinuxOB] CD-Verzeichnis

Daniel Dombrowski daniel.dombrowski at linuxob.de
Mi Jan 14 00:16:16 CET 2004


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 ... :(

Gruss

Daniel



Mehr Informationen über die Mailingliste linux