Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сократить хэш 
V
    Опции темы
Cyr
Дата 29.4.2014, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



Есть такая строка:
Код

print "callID:",   $out2->{eventSpecificInfo}->{callControlEvents}->{connectionCleared}->{droppedConnection}->{both}->{callID},"\n";

как можно получить доступ начиная с 3-го элемента.
Т.е. нужно типа:
Код

callControlEvents = $out2->{eventSpecificInfo}->{callControlEvents};
print callControlEvents->{connectionCleared}->{droppedConnection}->{both}->{callID},"\n"




Это сообщение отредактировал(а) Cyr - 29.4.2014, 15:01
PM MAIL   Вверх
noize
Дата 29.4.2014, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


5.18.2
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 10.7.2010
Где: СПб

Репутация: 3
Всего: 3



Код

my $callControlEvents = $out2->{eventSpecificInfo}->{callControlEvents};
print $callControlEvents->{connectionCleared}->{droppedConnection}->{both}->{callID},"\n"

но я бы советовал делать обращение к данным через методы, а не через структуру хэша
PM MAIL   Вверх
Cyr
Дата 29.4.2014, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



"обращение к данным через методы", а как конкретно?
PM MAIL   Вверх
noize
Дата 30.4.2014, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


5.18.2
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 10.7.2010
Где: СПб

Репутация: 3
Всего: 3



Код

#!/usr/bin/perl

use Modern::Perl;

my $hash = {};

sub get_data {
    return $hash->{data} if $hash->{data};
}

sub get_data1 {
    return get_data->{data1} if get_data->{data1};
}

sub get_data2 {
    return get_data->{data2} if get_data->{data2};
}

sub set_data {
    my ( $key, $value ) = @_;

    return unless $key;
    $value ||= '';

    $hash->{data}->{$key} = $value;
}

sub set_data1 {
    my $data1 = shift;

    set_data( 'data1', $data1 ) if $data1;
}

sub set_data2 {
    my $data2 = shift;

    set_data( 'data2', $data2 ) if $data2;
}

set_data1( 'abc' );
set_data2( 'bac' );

say get_data1;
say get_data2;

как-то так

Это сообщение отредактировал(а) noize - 30.4.2014, 08:57
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.