0 Вопрос: Проблемы с циклом после уважения в Perl [закрыто]

вопрос создан в Wed, May 8, 2019 12:00 AM

Я перебираю данные в Perl. % foreach my $value (keys ${data->{'pi'}{'home'}}){. Я получаю предупреждение keys on reference is experimental. Поэтому я обращаюсь к % foreach my $value (keys %{data->{'pi'}{'home'}}){ и цикл не выполняется. Что я делаю неправильно?

Самосвал показывает.

$VAR1 = [
      {
        'completed' => 'March 2016',
        'name' => 'steve johnson'
      },
      {
        'completed' => 'May 2006',
        'name' => 'mike smith'
      }
    ];
    
- 3
  1. Пожалуйста, измените свой ответ, чтобы показать фактический код в контексте. Я подозреваю, что вам нужно иметь keys %{$data->{'pi'}{'home'}}, но вы еще не сделали это легко.
    2019-05-08 15: 57: 39Z
  2. Как выглядят ваши данные?
    2019-05-08 16: 17: 46Z
  3. Почему вы не смотрите на свои данные? use Data::Dumper; print Dumper $data.
    2019-05-08 16: 44: 48Z
  4. Там нет ни pi, ни home. Я понятия не имею, что вы пытаетесь сделать.
    2019-05-08 17: 22: 25Z
  5. (1) Переменная, в которую вы добавили дамп, является ссылкой на массив , а не ссылкой на хеш. Когда вы пытаетесь использовать ее в качестве хэш-ссылки ($ra->{...}) вы получите предупреждение, Not a HASH reference. Поэтому вам нужно сначала проиндексировать его (например, $data->[0]) или перебрать (for (@$data)) и затем иметь хеш-ссылки для работы с. (2) 'pi', 'home' ...? да? где они?
    2019-05-08 17: 47: 55Z
0 ответов                              0                         
источник размещен Вот