Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
10.08.2004, 16:09
|
|||
---|---|---|---|
|
|||
Вывод массива (perl) |
|||
#18+
Народ подскажите пожалуйста. Пришлось срочно разобраться в чужом коде на перловке, а перловку я не знаю. В общем заполняется массив таким образом: push @{$mac2{$mac}}, [ $ip1, $desc ] ; # adding reference of array to array in a hash как мне далее в программе вывести элементы этого массива. Я так подозреваю что в качестве индекса этого хэша обычный mac (строка), а в качестве значения элемента массив из двух элементов (не важно какого типа). Только прикол весь в том, что в хэш заносится не значение а ссылка. В общем спецы подскажите как вывести этот хэш со всеми элементами, и если что-то я не так понял поправьте пожалуйста. Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.08.2004, 16:39
|
|||
---|---|---|---|
Вывод массива (perl) |
|||
#18+
Alex2005Народ подскажите пожалуйста. Пришлось срочно разобраться в чужом коде на перловке, а перловку я не знаю. В общем заполняется массив таким образом: push @{$mac2{$mac}}, [ $ip1, $desc ] ; # adding reference of array to array in a hash как мне далее в программе вывести элементы этого массива. Я так подозреваю что в качестве индекса этого хэша обычный mac (строка), а в качестве значения элемента массив из двух элементов (не важно какого типа). Только прикол весь в том, что в хэш заносится не значение а ссылка. В общем спецы подскажите как вывести этот хэш со всеми элементами, и если что-то я не так понял поправьте пожалуйста. Заранее спасибо! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.08.2004, 17:24
|
|||
---|---|---|---|
|
|||
Вывод массива (perl) |
|||
#18+
Большое спасибо за ответ, но: 1. Вариант "конкретный" пишет "Use of uninitialized value in print" хотя данные в хэше точно есть. 2. Вариант "все" начал что-то выводить только когда добавил один символ в код (первая строка). Код стал такой: foreach my $mac ( keys %$mac2 ) { print "MAC: $mac\n"; foreach my $ref ( @{$mac2{$mac}} ) { print "\tIP: ", $ref->[0], ", DESC: ", $ref->[1], "\n"; } } да и он выводит только строки MAC: а те что с IP не выводит. Так что опять обращаюсь за помошью... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.08.2004, 17:48
|
|||
---|---|---|---|
Вывод массива (perl) |
|||
#18+
kogda-to toje nujno bylo raspechatat' structuro is hashei i massivov, napisal funciu tipa print_r v php primer: my $a = { '2' => [ 3, { 'test' => 'test' } ] }; debug_print_struct($a) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.08.2004, 17:59
|
|||
---|---|---|---|
Вывод массива (perl) |
|||
#18+
у тебя mac2 ( судя по тому как он пользуется $mac2{...} ) это именно хеш а не ссылка на хеш ты же пытаешся использовать ссылку на несуществующий хеш %$mac2... то что я писал у меня выводит следующее: (собственно код еще раз) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
ну и то что на выходе: gosha@b127:/tmp> perl 1.pl MAC: xxxxx IP: 192.168.108.127, DESC: test IP = 192.168.108.127 gosha@b127:/tmp> если у тебя таки ссылка на хеш ( хотя повторюсь то что у тебя в первом сообщении было это не ссылка а именно хеш ) то пользуйся во втором foreach конструкцией вида: foreach my $ref ( @{$mac2->{$mac} } ) ну и вариант "конкретный" :)) print "IP = ", $mac2->{$mac}->[0]->[0], "\n"; собственно если после '' ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.08.2004, 18:07
|
|||
---|---|---|---|
Вывод массива (perl) |
|||
#18+
sky2kkogda-to toje nujno bylo raspechatat' structuro is hashei i massivov, napisal funciu tipa print_r v php primer: my $a = { '2' => [ 3, { 'test' => 'test' } ] }; debug_print_struct($a) дык есть же Data::Dumper Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.08.2004, 18:22
|
|||
---|---|---|---|
|
|||
Вывод массива (perl) |
|||
#18+
Парни, огромное спасибо за ответы!!! С ссылками у меня тоже немножко не прокатило, видимо знаний моих не хватает. А вот Data::Dumper это вешь - взял и вывел мне все, что я хотел. (Хотя если он вывел значит все-таки у меня там не ссылка наверное, в общем не знаю). Еще раз огромное всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/search_topic.php?author=%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC123&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 1116ms |
total: | 1248ms |
0 / 0 |