while () { push @col, $_ =~ m/^(\S+)/ unless ...; } #### while() { $_ =~ s/^(\S)/$1 $col[$i++]/; print OUT2 $_; } #### while (){ ($i, $j) = ... #### my ($i, $j) #### open (FILE, "test.pat") or die "Can't open test.pat: $!"; open (OUT, ">TRUE_OUTPUTS") or die "Can't open TRUE_OUTPUTS: $!"; while () { if ($_ =~ m/^\s{4,}(\d)\s+$/) {print OUT "$1\n"} } close (FILE); close (OUT);