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