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

In Perl the command line arguments are automatically transferred into the special array @ARGV. All you need to do is replace @ARGV in your code with some other static array of your choice.

  • Comment on Re^4: insert null in missing places of csv

Replies are listed 'Best First'.
Re^5: insert null in missing places of csv
by ukhare (Novice) on Feb 20, 2016 at 10:12 UTC

    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.

      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