while () { s/(\d+)/ sprintf("%02d", $1) /ge; print $_; } __DATA__ 1,2,3,4 8,9,10,11 7,8,9,10 12,13,14,15