use strict; use warnings; use Data::Dumper; while () { my @fields = /(\d+)\s+(\d+)\s+(\d+)\s+(.*?)\s+(\d+)\s+(\d+\.\d+\.\d+\.\d+\:\d+)\s+(\d+)\s+(\d+)$/; local $" = '","'; print qq{"@fields"\n}; } __DATA__ 6 2 78 testing stuff 0 69.68.119.54:28960 34756 25000 7 4 118 [:EsU:]|BLaZE| 0 24.86.4.164:28960 7248 5000 6 2 78 tessssssstinggggggggggg REAAAAA 40 69.68.119.54:28960 34756 25000 #### "6","2","78","testing stuff","0","69.68.119.54:28960","34756","25000" "7","4","118","[:EsU:]|BLaZE|","0","24.86.4.164:28960","7248","5000" "6","2","78","tessssssstinggggggggggg REAAAAA","40","69.68.119.54:28960","34756","25000"