#!/usr/bin/perl use strict; use warnings; use Text::CSV; use Date::Calc qw(:all); use Date::Calendar; #------------------------------------------- # #------------------------------------------- #--------------------------------------- # Edit Custom Variables Below #--------------------------------------- #-------------------------------- # Input and Output files #-------------------------------- #IN is the directory/filename.csv that the input csv is being written to #OUT is the directory/filename.csv that the output csv #my $in = '/opt/data/input.csv'; #my $out = '/opt/data/output.csv'; my $in = 'c:/Users/cottenr/test.csv'; my $out = 'c:/Users/cottenr/foo.csv'; my $employee_number; my $employee_id; my $start_date; my $end_date; my $total_days; #--------------------------------------- # Program and Loop Section #--------------------------------------- #Looking for csv file to be written #START: while ( -e $in){ my $csv = Text::CSV->new ({ binary => 1, auto_diag => 1, sep_char => ',' # not really needed as this is the default }); #Open IN and OUT files open(my $data, '<:encoding(utf8)', $in) or die "Could not open '$in' file \n"; <$data>; #skips header line of .csv file open(OUT, '>encoding(utf8)', $out) or die "Could not open '$out' file\n"; #Loop through the file and process data while (my $fields = $csv->getline( $data )) { $employee_number = $fields->[2]; $employee_id = $fields->[4]; $start_date = $fields->[17]; $end_date = $fields->[18]; $total_days = $fields->[21]; #Conditional eval for Date Comparison if($end_date > $highnumber) { } elsif ($count > $mednumber) { } else { } #Layout the format and write to OUT file print OUT "$employee_number, $employee_id, $start_date, $end_date, $total_days\n"; } #While loop if (not $csv->eof) { $csv->error_diag(); } #--------------------------------------- # Finish it up! #--------------------------------------- #Print out the footer #Close the IN and OUT files close $data; close $in; close OUT; #Delete the INPUT csv file #unlink $in; } #--------------------------------------- # Take a Nap and do it all over again #--------------------------------------- #sleep 60; #goto START;