in reply to Regex Split and Formatting

G'day reaper9187,

This does what you want:

$ perl -Mstrict -Mwarnings -e ' my $cols = 4; my $re = qr{("(?:[^"\\]++|\\.)*+"\s*,*\s*)}m; my $file = do { local $/; <> }; my @params = $file =~ /$re/g; print "$_. ", splice(@params, 0, $cols), "\n" for 1 .. @params / $ +cols; ' "123", "DEF123","this is test","C:\Abhinav\test.jpg" "456", "DEF456","this is test","C:\Matt\test.jpg" "726", "DEF726","this is test","C:\Matt\test.jpg" 1. "123", "DEF123","this is test","C:\Abhinav\test.jpg" 2. "456", "DEF456","this is test","C:\Matt\test.jpg" 3. "726", "DEF726","this is test","C:\Matt\test.jpg"

For the regexp, I've made a very minor addition to what's provided in perlre (search for "match a double-quoted string"). I also used splice to access groups of, what you're calling, parameters.

In future, can I suggest you state something like this in your OP: "I'm aware of Whatever::Module but I want to do this using other_thing because reason_why.". I think that might have saved a lot of questions/answers/updates/etc.

-- Ken