#!perl use 5.12.0; use warnings; my @full = qw{ 0001.tif 0002.tif 0003.tif 0004.tif 0005.tif 0006.tif 0007.tif 0008.tif 0009.tif 0010.tif 0011.tif 0012.tif 0013.tif 0014.tif 0015.tif 0016.tif 0017.tif 0018.tif 0019.tif 0020.tif }; my @partioned = ([],[],[],[]); for (0 .. $#full) { state $i = 0; push @{$partioned[$i]}, $full[$_]; $i = ++$i % 4; } my @subA = @{$partioned[0]}; my @subB = @{$partioned[1]}; my @subC = @{$partioned[2]}; my @subD = @{$partioned[3]}; say qq{@subA}; say qq{@subB}; say qq{@subC}; say qq{@subD};