기본적으로 검색할 때 Perl/정규표현식을 지원한다. 예를 들어 "a[bc]"를 검색어로 넣으면, "ab", "ac" 둘 중 하나 이상이 포함된 페이지를 찾는다. 반대로 얘기하면 "a[bc]"라는 문자열을 찾는게 아니다. 이걸 원할 경우에는 백슬래시를 사용하여 "a"를 검색하여야 한다. 정규표현식을 모르는 사람에게는 낯설겠지만, 당장 주인장이 정규표현식 사용을 선호하기 때문에 그대로 둔 상태. (차후에는 이것도 옵션으로 달까 싶기도)
그런데 "a["를 검색어로 넣는다면? 여는 대괄호는 있는데 닫는 대괄호가 없기 때문에 문법상 맞지 않아서 서버 에러가 난다.
이렇게, 정규표현식에서 쓰이는 특수 기호나 Perl의 문법 때문에 검색코드가 에러를 내는 경우에는 정규표현식을 사용하지 않고 문자열 그대로를 검색하게 하였다. 즉 "a["를 검색어로 넣는다면 이 경우는 "a[" 문자열 자체를 찾게 된다.
sub DoSearch { my ($string) = @_; my @x; if ($string eq '') { &DoIndex(); return; } print &GetHeader('', &QuoteHtml(Ts('Search for: %s', $string)), ''); print '<br>'; # 검색어에 정규표현식 에러가 나는 경우는 quote하여 검색 -- 이하 4줄 추가 eval { "" =~ /$string/i; }; if ($@) { $string = "\Q$string\E"; } # 여기까지 @x = &SearchTitleAndBody($string); ... }