use strict; use warnings; my $header = ; chomp $header; $header =~ s/ ^ \s+ //x; my @columns = split /\s+/, $header; my $columns = scalar @columns; my @lines = ; my $data = pop @lines; chomp $data; my @data = split /\s+/, $data; print "\t", join("\t", @columns), "\n"; for my $line (@lines) { chomp $line; print $line; for my $i (1 .. $columns) { print("\t", shift @data) if @data; } print "\n"; } __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 #### 17:37 >perl 2021_SoPW.pl a b c d e f g h aa 1 2 3 4 5 6 7 8 bb 9 10 11 12 13 14 15 16 cc dd aa bb cc dd aa bb cc dd 17:37 >