in reply to Regular expressions - match

There are a few problems with your regex, but your first is the extraneous use of .* as delimiters. The one in the second line of your regex is greedily matching everything else in your line and therefore none of the other sections are able to match.

I would advise that you use Text::CSV to progress the csv file and then use a regex to split apart each section. However, forgoing that, something like this would work as well.

use strict; while (my $line = <DATA>) { chomp $line; my %vals = ($line =~ m{(\w+)=([^,]*)}g); print "one: $vals{one}, two: $vals{two}, three: $vals{three}, four +: $vals{four}, five: $vals{five}\n"; } 1; __DATA__ one=1,two=2,three=3,four=4,five=5 one=1,three=3,five=5