0 Soalan: Mempunyai isu-isu gelung selepas penangguhan perl [tertutup]

soalan dicipta di Wed, May 8, 2019 12:00 AM

Saya melengkapkan data di perl. % foreach my $value (keys ${data->{'pi'}{'home'}}){. Saya mendapat amaran keys on reference is experimental. Jadi saya menghormati % foreach my $value (keys %{data->{'pi'}{'home'}}){ dan gelung tidak laksanakan. Apa yang saya lakukan dengan tidak betul?

Dumper sedang dipaparkan.

$VAR1 = [
      {
        'completed' => 'March 2016',
        'name' => 'steve johnson'
      },
      {
        'completed' => 'May 2006',
        'name' => 'mike smith'
      }
    ];
    
- 3
  1. Sila edit jawapan anda untuk menunjukkan kod sebenar dalam konteks. Saya mengesyaki anda perlu mempunyai keys %{$data->{'pi'}{'home'}}, tetapi anda tidak membuatnya mudah untuk memberitahu.
    2019-05-08 15: 57: 39Z
  2. Apakah data anda kelihatan?
    2019-05-08 16: 17: 46Z
  3. Mengapa anda tidak melihat data anda? use Data::Dumper; print Dumper $data.
    2019-05-08 16: 44: 48Z
  4. Tidak ada pi atau home di sana. Saya tidak tahu apa yang anda cuba lakukan.
    2019-05-08 17: 22: 25Z
  5. (1) Pemboleh ubah yang anda tambah dump ialah rujukan array - bukan rujukan hash.Ketika anda cuba menggunakannya sebagai hashref ($ra->{...}), anda akan mendapat amaran, Not a HASH reference. Jadi, anda perlu indeks ke dalamnya terlebih dahulu (seperti $data->[0]) atau iterate over (for (@$data)) dan kemudian anda akan mempunyai referensi hash untuk bekerja dengan. (2) 'pi', 'home' ...? huh? di mana mereka?
    2019-05-08 17: 47: 55Z
0 Jawapan                              0                         
sumber diletakkan di sini