LINUX.ORG.RU

perl DB_File RECNO некорректная работа на *BSD

 , , , recno


0

1

Всем привет, немного оффтопик, так как код корректно работает под онтопиком (Debian testing x86_64, perl 5.14.2), но фейлится под NetBSD amd64 (тоже perl 5.14.2), OpenBSD amd64 (perl 5.12.2), FreeBSD amd64 (perl 5.12.4).

У меня пока идей нету, в исходники модуля DB_File ещё не зарывался.

Ситуация воспроизводится с помощью двух семплов:

writedb.pl

readdb.pl

writedb создаёт базу на диске из двух записей, связывая её с перловым массивом.

после закрытия readdb.pl её открывает, но считает, что там не 2 записи, а 4. Похоже на то, что оно считает, что база связана не с массивом, а с хешем (хеш в перле представляется как массив, где каждое первое число - ключ, каждое второе - значение). То есть элементы по индексу 0 и 2 - значения, записанные в базу, а 1 и 3 - это undef.

Повторюсь, на линуксе всё нормально.

Создал ещё аналогичное обсуждение на perlmonks и отписал автору модуля, но он пока не отвечает.

Собственно вопрос: что я делаю не так? Или я всё делаю так, но это бага в BSD реализации?

Если у кого-то есть идеи, отпишитесь.

Спасибо.

☆☆☆☆☆

Последнее исправление: DELIRIUM (всего исправлений: 1)

семплы не читал, но на вскидку: 1. окружение ($PATH итп); 2. версии подключаемых модулей.

ps: на сайте opensource.ru всякие *BSD также считаются онтопиком.

linuxnewb
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.