Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Not an ARRAY reference

by BillKSmith (Prior)
on Nov 06, 2020 at 23:49 UTC ( #11123458=note: print w/replies, xml ) Need Help??


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 (Beadle) 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.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11123458]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2021-04-11 01:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?