$_ =~ s/some expression meaning a quoted comma/some placeholder/g; @line = split(/\,/, $_); #if the commas are needed foreach my $line (@line){ $line =~ s/some placeholder/,/g; } #### @line = split(/some expression that only matches commas not within quotes/, $_);