in reply to newbie regex question: substituting repeating occurences for different replacements

Why use a regexp?
use strict; my $str; while (<DATA>) { chomp; my @cols = split(/;/); for (my $i=1;$i<=@cols;$i++) { $cols[$i-1]="<col$i>$cols[$i-1]</col$i>"; } $str .= '<row>' . join('',@cols) . "</row>\n"; } print $str; exit; __DATA__ a;b;c;d;e f;g;h;i j;k l m;n;o
prints:
<row><col1>a</col1><col2>b</col2><col3>c</col3><col4>d</col4><col5>e</ +col5></row> <row><col1>f</col1><col2>g</col2><col3>h</col3><col4>i</col4></row> <row><col1>j</col1><col2>k</col2></row> <row><col1>l</col1></row> <row><col1>m</col1><col2>n</col2><col3>o</col3></row>

UPDATE: Doh! of course gjb is right. Text::CSV is a great module. While my code is better than using regexps, Text::CSV is better than using my code.

-pete
"Worry is like a rocking chair. It gives you something to do, but it doesn't get you anywhere."
  • Comment on Re: newbie regex question: substituting repeating occurences for different replacements
  • Select or Download Code