#!/usr/bin/env perl use strict; use warnings; my @lines = ; print shift @lines; chomp @lines; my $perline = 8; my @num; my @numline = (1 .. $perline); my $fmt = '%s ' . '%5i' x $perline . "\n"; for my $line (@lines) { if ($line =~ /^1/) { print join (' ', @num) . "\n"; last; } printf $fmt, $line, @numline; push @num, @numline; $_ += $perline for @numline; } __DATA__ a b c d e f g h aa bb cc dd aa bb cc dd aa bb cc dd 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16