use strict;
my $str = 'C099900XABCD
O099900XABCD
CO99900XABCD
C0O9900XABCD
C09O900XABCD
C099O00XABCD
C0999O0XABCD
C09990OXABCD
C099900OABCD
C099900XOBCD
C099900XAOCD
C099900XABOD
C099900XABCO';
my $regex = qr/O(?<=^.{0,8})/mp;
my $subst = '0';
my $result = $str =~ s/$regex/$subst/rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html