while () { push @col, $_ =~ m/(\S+\s+\S+)/ #unless m/SN\b.*|generated\b.*|No\b.*|startpattern.*|endpattern.*/; } open(data, ") { $_ =~ s/^(\S\s+\S)/$1 $col[$i++]/; print OUT2 $_; }