in reply to Workaround for my CSV file
Assuming that you really can't use a module (but see Yes, even you can use CPAN), a simple regex substitution does the trick:
use strict; use warnings; open my $fh, ">", "tmp.csv" or die "Unable to open $! \n"; #read the file line by line and delimit with commas print join ",", map {s/(.*,.*)/"$1"/; $_} split /~/ while <DATA>; close $fh; __DATA__ col1~col2~col3~col4~col5 data11~data12~data13~data14~data15 data21~data22~data23~data24~data25 data31~data32~data33~data34~data35 data,data41~data42~data43~data44~data45 data51,data52,data,junk,specialchar,sometingdata53~data54~data55
Prints:
col1,col2,col3,col4,col5 data11,data12,data13,data14,data15 data21,data22,data23,data24,data25 data31,data32,data33,data34,data35 "data,data41",data42,data43,data44,data45 "data51,data52,data,junk,specialchar,sometingdata53",data54,data55
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Workaround for my CSV file
by gone2015 (Deacon) on Dec 05, 2008 at 11:44 UTC | |
|
Re^2: Workaround for my CSV file
by harishnuti (Beadle) on Dec 05, 2008 at 08:00 UTC |