[sisyphus] Perl content: почему dict перестал видеть словари ?

Arioch =?iso-8859-1?q?the=5FArioch_=CE=C1_nm=2Eru?=
Пн Янв 16 18:03:56 MSK 2006


По идее скрипт /usr/sbin/dictdconfig должен перечислять все базы и
записывать из в список, однако....

zsh 642 % cat /var/lib/dictd/db.list
             - - - SKIP - - -
# See dictdconfig(8) for details.
             - - - SKIP - - -
database engcom {
   data  /usr/share/dictd/engcom.dict.dz
   index /usr/share/dictd/engcom.index
}
database foldoc {
   data  /usr/share/dictd/foldoc.dict.dz
   index /usr/share/dictd/foldoc.index
}
database vera {
   data  /usr/share/dictd/vera.dict.dz
   index /usr/share/dictd/vera.index
}
database jargon {
   data  /usr/share/dictd/jargon.dict.dz
   index /usr/share/dictd/jargon.index
}



Чем они отличаюся от других???
zsh 643 % ll /usr/share/dictd
итого 38052
drwxr-xr-x 377 root root    11064 Янв 14 18:10 ../
drwxr-xr-x   2 root root      656 Янв  6 00:11 ./
-rw-r--r--   1 root root   209247 Янв  6 00:11 engcom.dict.dz
-rw-r--r--   1 root root    35725 Янв  6 00:11 engcom.index
-rw-r--r--   1 root root  3952339 Ноя 27 22:08 gcide.index
-rw-r--r--   1 root root 13527757 Ноя 27 22:08 gcide.dict.dz
-rw-r--r--   1 root root  2105578 Сен 14 15:00 foldoc.dict.dz
-rw-r--r--   1 root root   281456 Сен 14 15:00 foldoc.index
-rw-r--r--   1 root root   164177 Май 24  2005 vera.dict.dz
-rw-r--r--   1 root root   120783 Май 24  2005 vera.index
-rw-r--r--   1 root root   832116 Мар  4  2005 slovnyk_ru-en.dict.dz
-rw-r--r--   1 root root  1486899 Мар  4  2005 slovnyk_ru-en.index
-rw-r--r--   1 root root   972387 Мар  4  2005 slovnyk_en-ru.dict.dz
-rw-r--r--   1 root root   977100 Мар  4  2005 slovnyk_en-ru.index
-rw-r--r--   1 root root  2767389 Мар  4  2005 mueller7.dict.dz
-rw-r--r--   1 root root   786401 Мар  4  2005 mueller7.index
-rw-r--r--   1 root root   636409 Мар  4  2005 jargon.dict.dz
-rw-r--r--   1 root root    43202 Мар  4  2005 jargon.index
-rw-r--r--   1 root root  8808006 Мар  4  2005 dalf.dict.dz
-rw-r--r--   1 root root  1175086 Мар  4  2005 dalf.index



Вот по идее фнукция, котораядолжна проверять наличие пар файлов, но
видимо она на Словнике затыкается. Не любит дефисы/подчеркиваия ?

sub CheckDatabase {
     my ( $base_name ) = @_;
     my $name;
     my $datafile;
     my $indexfile;
     if ( $base_name =~ m#.*/(.*)# ) { $name = $1 }
     else { $name = $base_name }
     if ( $base_name =~ m#^/# ) { $datafile = $indexfile = $base_name }
     else { $datafile = $indexfile = "$db_dir/$base_name" }
     $datafile .= ".dict.dz";
     $datafile =~ s/\.dz$// unless -f $datafile;
     $indexfile .= ".index";
     if ( ! $db_entered{ $name } && -f $datafile && -f $indexfile ) {
         AddEntry( $name, $datafile, $indexfile );
     }
}

sub CheckDirectory {
     my ( $dir ) = @_;
     $dir = "$db_dir/$dir" unless $dir =~ m#^/#;
     opendir DIR, $dir;
     for (readdir DIR) {
         if ( /(^.*)\.index$/ ) { CheckDatabase( "$dir$1" ) }
     }
     closedir DIR;
}


Я в Перле ни бум-бум, о м.б. кто подскажет чего поправить ?

Кстати, нет man page для dictdconfig, а в вывод скрипта идет ссылка на
man :)

PS: удалил slovnyk - ничего не изменилось, видит только первые 4 
словаря, и всё тут :(





Подробная информация о списке рассылки Sisyphus