![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Добрый день!
Допустим, у меня есть набор из 3-х органов власти: Законодательное собрание Краснодарского края Администрация муниципального образования город Краснодар Губернатор Краснодарского края И есть 1 млн. документов с уникальными ID. Мне нужно составить хеш $doc{ID}{source} = <название органа> $doc{1}{source} = 'Законодательное собрание Краснодарского края' $doc{2}{source} = 'Администрация муниципального образования город Краснодар' $doc{3}{source} = 'Губернатор Краснодарского края' ... $doc{1000000}{source} = 'Губернатор Краснодарского края' Получается, что в хеше миллион раз повторяются строки с названием органов власти. Можно ли сделать следующую вещь: вместо строки 'Законодательное собрание Краснодарского края' использовать ссылку на КЛЮЧ хеша, в котором будут перечислены эти органы? |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
Нельзя получить ссылку на ключ хеша, насколько я знаю
|
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Хорошо, а если я составлю дополнительный хеш вида:
$s{'Законодательное собрание Краснодарского края'}='Законодательное собрание Краснодарского края'; $s{'Администрация муниципального образования город Краснодар'}='Администрация муниципального образования город Краснодар'; $s{'Губернатор Краснодарского края'}='Губернатор Краснодарского края'; Как потом сделать ссылку на значение вспомогательного хеша $s? Добавлено через 1 минуту и 21 секунду Т.е. я хочу составить библиотеку этих органов (их немного, но названия длинные), а потом для каждого документа указывать не само название органа, а ссылку на его место в библиотеке. Как это сделать? |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
$ref = \$s{'Законодательное собрание Краснодарского края'};
В $ref будет ссылка. |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Hash::Util::hv_store()
-------------------- Died at Life.pl line 21 |
|||
|
||||
| afiskon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 31.3.2011 Где: Россия, Москва Репутация: нет Всего: 4 |
Полистайте книжку с Ламой ("Изучаем Perl"), пока ее еще найти можно. Или эту статейку. Матчасть нужно знать!
|
|||
|
||||
| vivu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.11.2009 Репутация: нет Всего: нет |
ИМХО, не стоит пихать в хеш такие громадные блоки данных. Для этого следует использовать базу данных.
Если же данных всё-таки не 1 млн., а меньше, ну скажем 1000 то я бы поступил вот так:
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |