in reply to escaping variables in regexp

Or you can skip the whole regex for parsing delimited data. Text::CSV_XS is not just for commas anymore. Text::CSV_XS also has the advantage of dealing with escaped and quoted data.

For brevity, error checking was not added to the code.

use strict; use warnings; use Text::CSV_XS; # Setup a CSV obj to parse the user seperator my $csv_in = Text::CSV_XS->new({ sep_char => '^' }); # Setup a CSV obj to handle the output seperator my $csv_out = Text::CSV_XS->new({ sep_char => '|' }); open(IN,"in_file") or die "$!\n"; my %hash; while (my $line = <IN>) { my $status = $csv_in->parse($line); my @cols = $csv_in->fields(); $hash{$cols[0]} = $cols[1]; # or whatever } foreach (keys %hash) { my $string = $csv_out->combine($_,$hash{$_}); print "$string\n"; }


grep
One dead unjugged rabbit fish later