Автор Тема: Можно ли записать в DB_File хеш такого типа...  (Прочитано 4438 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Timur S.

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Можно ли записать в DB_File хеш такого типа структуру или может куда еще...


%db{$key}
               ->[0]
               ->[1]
                      ->[0]
                      ->[1]
                      ->[2]
               ->[2]
                      ->[0]
                      ->[1]
               ->[3]

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Можно ли записать в DB_File хеш такого типа...
« Ответ #1 : 13 Октября 2004, 18:00:24 »
в DB_File нет.
perldoc MLDBM
The documentations is your friend

Оффлайн Timur S.

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Можно ли записать в DB_File хеш такого типа...
« Ответ #2 : 13 Октября 2004, 18:19:58 »
Буду смотреть.
Спасибо.

Оффлайн Timur S.

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Можно ли записать в DB_File хеш такого типа...
« Ответ #3 : 14 Октября 2004, 12:52:06 »
Подскажите пробаю занести данные в базу они не заносятся, приважу два варианта занесения может кто поскажет в чем причина.


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;


Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Можно ли записать в DB_File хеш такого типа...
« Ответ #4 : 14 Октября 2004, 13:01:32 »
Берем пример:

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;

Что получаешь?
The documentations is your friend

Оффлайн Timur S.

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Можно ли записать в DB_File хеш такого типа...
« Ответ #5 : 14 Октября 2004, 17:00:04 »
выдает

$VAR1 = undef;

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Можно ли записать в DB_File хеш такого типа...
« Ответ #6 : 14 Октября 2004, 17:05:39 »
Timur S. а не должен.
Что за perl? Какая версия?
The documentations is your friend

Оффлайн Timur S.

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Можно ли записать в DB_File хеш такого типа...
« Ответ #7 : 14 Октября 2004, 17:11:08 »
ActivePerl 5.8.0.805

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Можно ли записать в DB_File хеш такого типа...
« Ответ #8 : 14 Октября 2004, 17:15:51 »
файлы баз данных он тоже не создает?
The documentations is your friend

Оффлайн Timur S.

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Можно ли записать в DB_File хеш такого типа...
« Ответ #9 : 14 Октября 2004, 18:40:44 »
Спасибо ошибка исправлена. (неверная переменная стояла).

А вообще она как по дыстродействию, блокировки и тд.,
Вроде есть использования MLDBM с DB_File, как оно по работе с блокировкой, DB_File::Lock вроде не подставляется:

use MLDBM qw(DB_File); #DB_File::Lock

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28