in reply to Next 50 array elements during each loop?

I'm not sure I understood everything, but you can use splice to shift more than one element from an array.
while (my @section = splice @vidids, 0, 50) { my $idees = join ',', @section; my $uri = "https://www.googleapis.com/youtube/v3/videos" . "?part=items(viewCount)&id=$idees&key=$API_KEY"; my $result = get($uri); my $json = decode_json($result); push @counts, map $_->{viewCount}, @{ $json->{items} }; }

Update: If you don't want to destroy the array, you can use an index:

while ($from <= $#vidids) { my @section = @vidids[ $from .. $to ]; my $idees = join ',', @section; my $uri = "https://www.googleapis.com/youtube/v3/videos" . "?part=items(viewCount)&id=$idees&key=$API_KEY"; my $result = get($uri); my $json = decode_json($result); push @counts, map $_->{viewCount}, @{ $json->{items} }; } continue { $from += 50; $to = $from + 50; $to = $#vidids if $to > $#vidids; }

($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,

Replies are listed 'Best First'.
Re^2: Next 50 array elements during each loop?
by ikegami (Patriarch) on Jun 05, 2017 at 03:43 UTC

    Alternative non-destructive approach:

    my $vidis_ = sub { \@_ }->(@vidis); while (my @section = splice @$vidis_, 0, 50) { ... }

    None of the elements are copied, so this is quite efficient.

Re^2: Next 50 array elements during each loop?
by Bman70 (Acolyte) on Jun 03, 2017 at 18:45 UTC
    I like the conciseness of this one. I could just copy the array and destroy the copy. Thanks I'll plug it in and see what happens