Forum Webscript.Ru

Программирование => Perl => Тема начата: Timur S. от 19 Октября 2004, 12:12:06

Название: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?
Отправлено: Timur S. от 19 Октября 2004, 12:12:06
Как в хеш с ключом $db{\'name\'} добавить еще { \'ключ\' =>  \'значение\'} чтобы придыдущии ключи не удалились.
Название: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?
Отправлено: NeoNox от 19 Октября 2004, 13:12:08
Timur S. ты структуру хешей понимаешь?
напиши в чем отличие масива от хеша.
Название: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?
Отправлено: Timur S. от 19 Октября 2004, 14:01:45
Я понимаю что нужно считывать нужный ключ добовлять к нему и потом записывать снова.


$tmp = $db{\'name\'};
$tmp = exists $db{\'name\'} ? $db{\'name\'} : [];
push(@$tmp, [$id_num => $line[$i]]);
$db{\'name\'}=$tmp;


А как быть если не масив а хеш и мне нужно добавлять не один ключ а несколько.
Название: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?
Отправлено: NeoNox от 19 Октября 2004, 14:14:08
Timur S. ты не уходи от моего вопроса.
Название: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?
Отправлено: Timur S. от 19 Октября 2004, 14:47:33
1. Массив - переменная, которая содержит список. Каждый элемент массива - это отдельная скалярная переменная с независимым скалярным значением. Значения в списке упорядочены, т.е. расставлены в определенной последовательности, например от младшего элемента к старшему.

2. Хеш представляет собой набор скалярных данных, отдельные элементы которого выбираются по индексному значению. В отличии от массива, индексные значения хеша - не малые неотрицательные целые, а произвольные скаляры. Эти скаляры называются ключами и используются для выборки значений из массива. Элементы хеша не стоят в каком-то конкретном порядке.
Название: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?
Отправлено: NeoNox от 19 Октября 2004, 15:26:00
Timur S.
Я тебя понял. Используй модуль Hash::Merge
Название: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?
Отправлено: NeoNox от 19 Октября 2004, 15:26:32
Версия Perl у тебя какая?
Название: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?
Отправлено: Timur S. от 19 Октября 2004, 18:11:33
ActivePerl 5.8.4.810
Название: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?
Отправлено: NeoNox от 19 Октября 2004, 18:32:26
NeoNox отлично. у этого модуля есть проблемы под 5.5