my @l = ; sub chunky(@l, $len) { (0, $len ...^ *>=@l).map({@l[$_ .. ($_ + $len - 1 min @l.end)] ~ "\n" }).join } print chunky(@l, 3);