in reply to Re^5: Put references to array of hash elements in an array
in thread Put references to array of hash elements in an array

Thanks choroba,

> "When you assing to @AoH directly (@AoH = ...) the previous contents of the @AoH is irrelevant, the array now contains different elements."

Where in my code did I assign anything to @AoH directly via "@AoH = ..." apart from at the very beginning?

  • Comment on Re^6: Put references to array of hash elements in an array

Replies are listed 'Best First'.
Re^7: Put references to array of hash elements in an array
by choroba (Cardinal) on Aug 03, 2018 at 09:58 UTC
    Sorry, you assigned to @age_ref directly.
    while (@age_ref = \$sth->fetchrow_array)
    ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
      OK thanks choroba,

      Using the @AoH that I have (as it is), is there a way I can rewrite this line:
      while (@age_ref = \$sth->fetchrow_array)
      so that it replaces the age values in @AoH, maybe using similar principles to those which allow this to update the age values:
      ($age_ref0,$age_ref2) = (\$AoH[0]{age},\$AoH[2]{age});

      If not, what's preventing this?

        #!/usr/bin/env perl use warnings; use strict; use feature qw{ say }; my @AoH = ( { age => \ do { my $tmp = 42 } }, {}, { age => \ do { my $mpt = 33 } } ); my @age_ref = \($AoH[0]{age}, $AoH[2]{age}); (${ $age_ref[0] }, ${ $age_ref[1] }) = (1, 2); use Data::Dumper; print Dumper \@AoH;

        ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,