use strict;
use warnings;
use DBIx::XHTML_Table;
my @avengers = ( 'Iron Man', 'Black Panther', 'Thor',
'Black Widow', 'Mockingbird', 'Captain America',
'Quicksilver', 'Vision', 'Falcon',
'Scarlet Witch', 'Wasp', 'Hawkeye',
'Hercules', 'Yellowjacket',
);
my $n = 4;
my $rows = [map[@avengers[$_..$_+$n-1]], range(0,$#avengers,$n)];
my $headers = [map "row$_",1..$n];
print DBIx::XHTML_Table->new($rows,$headers)->output;
# if Python can do this, so can Perl!
sub range {grep !($_%$_[2]-$_[0]),$_[0]..$_[1]}