]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/Search.pm
Add basic l10n support.
[deb/packages.git] / lib / Packages / Search.pm
index 32ef1e2eedf00d9f8c455966cc2d0dd90f914b44..931747c618ed84b4863f9d3a183fbff349983835 100644 (file)
@@ -43,7 +43,7 @@ package Packages::Search;
 use strict;
 use warnings;
 
-use CGI qw( -oldstyle_urls );
+#use CGI ();
 use POSIX;
 use HTML::Entities;
 use DB_File;
@@ -460,12 +460,14 @@ sub do_fulltext_search {
 
     my $numres = 0;
     my %tmp_results;
-    open DESC, '<', "$file"
+    # fgrep is seriously faster than using perl
+    open DESC, '-|', 'fgrep', '-n', '--', $keyword, $file
        or die "couldn't open $file: $!";
     while (<DESC>) {
-       next if (index $_, $keyword) < 0;
-       debug( "Matched line $.: $_", 2);
-       my $result = $did2pkg->{$.};
+       /^(\d+)/;
+       my $nr = $1;
+       debug( "Matched line $_", 2);
+       my $result = $did2pkg->{$nr};
        foreach (split /\000/o, $result) {
            my @data = split /\s/, $_, 3;
 #          debug ("Considering $data[0], arch = $data[2]", 3);