my @cols = (); foreach (@files) { $_ =~ s/.*[\/\\](.*)/$1/; push(@cols,td(submit(-name => 'file', -value => $_)); if (@cols == 4) { print Tr({-alien => 'center'}, @cols); @cols=(); } } if (@cols) { while (@cols < 4) { push(@cols,td(' ')); } print Tr({-alien => 'center'}, @cols); }