Forum Webscript.Ru
Программирование => Perl => Тема начата: Timur S. от 13 Октября 2004, 17:04:21
-
Можно ли записать в DB_File хеш такого типа структуру или может куда еще...
%db{$key}
->[0]
->[1]
->[0]
->[1]
->[2]
->[2]
->[0]
->[1]
->[3]
-
в DB_File нет.
perldoc MLDBM
-
Буду смотреть.
Спасибо.
-
Подскажите пробаю занести данные в базу они не заносятся, приважу два варианта занесения может кто поскажет в чем причина.
use DB_File;
use MLDBM qw(DB_File);
use Fcntl qw(:DEFAULT :flock);
my $db_hash = "base.db";
tie %db, \'MLDBM\', $db_hash, O_CREAT|O_RDWR, 0666 or die $!;
#вариант1 занесения
$sample = {\'burnt\' => \'umber\', \'brownian\' => \'motion\'} ;
$db{"test1"} = $sample;
#вариант2 занесения
$db{"test2"}= ["smth2",\'cxsd@ware\'];
untie %db;
-
Берем пример:
use MLDBM;
use Data::Dumper;
use Fcntl;
tie %db, \'MLDBM\', \'testmldbm\', O_CREAT|O_RDWR, 0640 or die $!;
$db{\'test\'} = {\'burnt\' => \'umber\', \'brownian\' => \'motion\'};
untie %db;
tie %db, \'MLDBM\', \'testmldbm\', O_CREAT|O_RDWR, 0640 or die $!;
print Dumper($db{\'test\'});
untie %db;
Что получаешь?
-
выдает
$VAR1 = undef;
-
Timur S. а не должен.
Что за perl? Какая версия?
-
ActivePerl 5.8.0.805
-
файлы баз данных он тоже не создает?
-
Спасибо ошибка исправлена. (неверная переменная стояла).
А вообще она как по дыстродействию, блокировки и тд.,
Вроде есть использования MLDBM с DB_File, как оно по работе с блокировкой, DB_File::Lock вроде не подставляется:
use MLDBM qw(DB_File); #DB_File::Lock
-
Под виндой? :)
http://www.hk8.org/old_web/linux/cgi/ch10_02.htm