while() { print; s/\b([\do]+)\b/(my $x = $1) =~ s!o!0!gi; $x;/gie; print "--> $_"; } __DATA__ lo123 asdf lone fs 2oo 3O7 o123 o123b 321o asf o987o 123 23o8 123 o4o4ooo #### lo123 --> lo123 asdf lone fs --> asdf lone fs 2oo --> 200 3O7 --> 307 o123 --> 0123 o123b --> o123b 321o --> 3210 asf o987o 123 23o8 --> asf 09870 123 2308 123 o4o4ooo --> 123 0404000