http://qs1969.pair.com?node_id=473203

monger has asked for the wisdom of the Perl Monks concerning the following question:

I've written a quick and dirty script to change a comma seperated DB dump to a tab delimited file for importing. Here's the code:
my $log_file = "/c/mysql.out"; my $out_file = "/c/mysql.dshield"; open LOG, "$log_file" || die "Can't open log file: $!"; open OUT, ">$out_file" || die "Can't open output file: $!"; while (<LOG>) { s/,/\t/g; print OUT $_; } close OUT || die "Can't close the output file: $!"; close LOG || die "Can't close the log file: $!";
Here's a snippet of what it's parsing:

2005-07-06 00:00:00-05:00,85099794,1,202.97.174.226,1038,192.168.1.20, 1434,udp,

Here's what is dumped out after the script chews it up:

2005-07-06 00:00:00 -05:00 85099794 1 202.97.174.226 1038192.168.1.20 1434 udp

So, why would this miss replacing the third from last comma with a tab? It simply deletes the comma without replacement. I can't figure this out! Help please?? Monger

Monger +++++++++++++++++++++++++ Munging Perl on the side