my $data_fix = "00"; while () { my($data1,$data2,$data3,$data4,$data5) = split(/:/); chomp($data5); $data5 = $data5 . $data_fix; $data_line = $data1 . ":" . $data2 . "00" . ":" . $data3 . ":" . $data4 . ":" . $data5 . "00" . "\n"; print $data_line; } __DATA__ o:200806050852:b7199767:b24211012077030:200902232359 o:201103251457:b6235734:b2421100997663:201204022359 o:201403101021:b8015840:b24211013181843:201404072359 o:201407291225:b8759124:b24211001018862:201408262359 #### OUTPUT: o:20080605085200:b7199767:b24211012077030:20090223235900 o:20110325145700:b6235734:b2421100997663:20120402235900 o:20140310102100:b8015840:b24211013181843:20140407235900 o:20140729122500:b8759124:b24211001018862:20140826235900 #### my $data_fix = "00"; while (<>) { my($data1,$data2,$data3,$data4,$data5) = split(/:/); chomp($data5); $data5 .= $data_fix; $data_line = $data1 . ":" . $data2 . "00" . ":" . $data3 . ":" . $data4 . ":" . $data5 . "\n"; print $data_line; } #### OUTPUT: (note the leading "o:" has been replaced with the "00" which is meant to be on the end of the last field, for some reason??) 0020080605085200:b7199767:b24211012077030:200902232359 0020110325145700:b6235734:b2421100997663:201204022359 0020140310102100:b8015840:b24211013181843:201404072359 0020140729122500:b8759124:b24211001018862:201408262359