in reply to Lost Column

You can act directly on the substring within the line like this:

while (<IN>) { substr($_,279) =~ s/$regex/$substitute{$1}/g; print OUT $_; }

I don't see exactly what's truncating your lines, but that simplification may help spot it.

After Compline,
Zaxo