use warnings; use strict; s[.{5}\K((.).(..))][$1 $2Y$3], print while ; __DATA__ col1 col2 col3 col4 col5 1234 5678 9012 3456 7890 #### col1 col2 cYl2 col3 col4 col5 1234 5678 5Y78 9012 3456 7890