#!/usr/bin/env perl
use Text::CSV;
my $csv = Text::CSV->new();
open(my $in_fh, "<", "temporary.tl")
or die "please create your temporary file: $!";
my @rows = ();
+ # keeps the count of rows in txt input file
while( my $line = <$in_fh> ){
+ # copies the line from our input
chomp $line;
push @rows, [ split m{ , }msx, $line ];
+
}
close $in_fh or die "could not close $in_file: $!\n";
$csv->eol( "\n" );
+ # after each line it gives a new line command
print " Please enter the name of your csv file in which you will make
+modifications ";
print "\n";
my $out_file = <>;
chomp $out_file;
open my $out_fh, '>', $out_file or die "could not open $out_file: $!\n
+";
for my $row ( @rows ){
$csv->print( $out_fh, $row ) or die "could not print to $out_file: $
+!\n";
}
close $out_fh or die "could not close $out_file: $!\n";
This is what I am doing | [reply] [d/l] |
use Text::CSV;
my $csv = Text::CSV->new ({ binary => 1, auto_diag => 1 });
open my $in_fh, "<", "temporary.tl"
or die "please create your temporary file: $!";
my @rows = ();
while (my $row = $csv->getline ($in_fh)) {
push @rows, $row;
}
I am sure I posted the same answer in this thread …
Enjoy, Have FUN! H.Merijn
code | [reply] [d/l] |
| [reply] |
So you are reading from a file, split on comma, then write it into another file. I would expect that there are no commas in the data you are writing to the new file as all commas are gone due to the splitting.
Probably some example would be useful like an input line and the corresponding output line that has double quotes in front of every word.
| [reply] |
yes pretty much , but what I have done is replaced the commas of text file to a delimiter as ;; , so that i can split it using ;; , and even if there is a comma in file it would not affect it
input looks like
50;; C,nt ;; ;;8;; 1;; ds;; 1;; a;; 1;; 0;; 0;; ;; ;; ;;
output looks like
" 50"," C ,nt "," ",8," 1","ds","1"," Va"," 1"," 0"," 0"," "," "," "
and I just want these " " to get omitted
push @rows, [ split m{ ;; }msx, $line ];
I have done this in the code
| [reply] [d/l] |