Автор Тема: Как добавить в хэш пару ключ - значение, чтобы он не перезаписывался?  (Прочитано 3775 раз)

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

Оффлайн Timur S.

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как в хеш с ключом $db{\'name\'} добавить еще { \'ключ\' =>  \'значение\'} чтобы придыдущии ключи не удалились.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Timur S. ты структуру хешей понимаешь?
напиши в чем отличие масива от хеша.
The documentations is your friend

Оффлайн Timur S.

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


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


А как быть если не масив а хеш и мне нужно добавлять не один ключ а несколько.

Оффлайн NeoNox

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

Оффлайн Timur S.

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

2. Хеш представляет собой набор скалярных данных, отдельные элементы которого выбираются по индексному значению. В отличии от массива, индексные значения хеша - не малые неотрицательные целые, а произвольные скаляры. Эти скаляры называются ключами и используются для выборки значений из массива. Элементы хеша не стоят в каком-то конкретном порядке.

Оффлайн NeoNox

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

Оффлайн NeoNox

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

Оффлайн Timur S.

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

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
NeoNox отлично. у этого модуля есть проблемы под 5.5
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