my @rows; for my $provider( qw/Provider1 Provider2 Provider3/ ) { push @rows, $provider->search( query=>..., sort=>..., page=>1, rows=>10 ); } # now I may end up with 30 rows for page 1 # but the client grid expects 10, so let's cut it down... @rows = @rows [ 0..9 ];