use strict; use warnings; my @numbers = map {$_, $_} (4, 7, 11, 14); my @breads = split '', 'wrifirwf'; my @parts; my $breadIndex = $#breads; while (@numbers) { push @parts, $breads[$breadIndex = ($breadIndex + 1) % @breads]; push @parts,shift @numbers; push @parts,$breads[$breadIndex = ($breadIndex + 1) % @breads]; } print join ' ', @parts;