http://qs321.pair.com?node_id=11123458


in reply to Not an ARRAY reference

Your for loops expect your complex data structure @responsetextall to be an array-of-arrays-of-structures something like this:
use strict; use warnings; my @responsetextall = ( [ { id => 'id00', status => 'status00' }, { id => 'id01', status => 'status01' }, ], [ { id => 'id10', status => 'status10' }, { id => 'id11', status => 'status11' }, ], ); for my $i ( 0 .. $#responsetextall ) { #$responsetextall[$i] =~ s/]\[/,/g; for my $j ( 0 .. $#{ $responsetextall[$i] } ) { my $responseid = $responsetextall[$i][$j]{id}; my $responsests = $responsetextall[$i][$j]{status}; print "$responseid $responsests\n"; } }

In your code, $responsetextall[$i] are not array references because you push array arrays (rather than array references)into @responsetextall. The following change will fix your immediate problem. I doubt that it is the only correction required.

#push @responsetextall, @responsetext; push @responsetextall, [@responsetext];
Bill

Replies are listed 'Best First'.
Re^2: Not an ARRAY reference
by chandantul (Scribe) on Nov 07, 2020 at 05:52 UTC

    Thanks Bill, I was trying to do pagination in a do/while loop and that works. The data structure was json responses Can you please let me know what could be the better pagination here? The code works eventually.