in reply to Re^4: insert null in missing places of csv
in thread insert null in missing places of csv

TRIED THIS

but getting syntex error :(

#!/usr/bin/perl #use strict; use warnings; use Text::CSV_XS qw( csv); my $input_dir = "d:\\perl"; #defining path for input directory my $output_dir = "d:\\perl\\output"; #defining path for output directo +ry my $input_file = "$input_dir\\output8.csv"; #defining path for input f +ile my $output_file = "$output_dir\\output82.csv"; #defining path for outp +ut file in which X from time stamp is replaced with 0 print STDOUT "\n removing $output_file if already exists \n"; unlink ($output_file); #removing $output_file if already exists \n"; open (OUTPUT, ">>$output_file") or die "Error 016: Error creating $out +put_file \n"; #create and output file open (INPUT, "<$input_file") or die "Error 001: Error locating file $i +nput_file \n"; #open input file csv (in => csv { in => (<INPUT>), blank_is_undef => 1, on_in => sub { $_ //= "NULL" for @{$_[1]}; }, } print OUTPUT; #print in output +file close (OUTPUT); #close output f +ile close (INPUT);

OUTPUT

D:\perl>perl test.pl syntax error at test.pl line 24, near "close" Execution of test.pl aborted due to compilation errors.

Replies are listed 'Best First'.
Re^6: insert null in missing places of csv
by poj (Abbot) on Feb 20, 2016 at 10:48 UTC

    The wrong brackets here in => csv { and missing the closing one from csv (

    Try this

    csv ( in => csv ( # not { in => *INPUT, blank_is_undef => 1, on_in => sub { $_ //= "NULL" for @{$_[1]}; }, ), out => *OUTPUT, eol => $/, );
    poj