my @output = split(/ /, $self->{'OUTPUT'}); while (scalar @values > 0) { write(OUTPUT); splice(@values, 0, scalar @headlines); } ... my $FORMATSTRING = "format OUTPUT = \n" . ('@' . '<' x $maxLen . " ") x $values . "\n" . '@values' . "\n" . ".\n";