[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