username date_modified
2010-nhw-es-ea-285 2012-10-10
aab.external.audit.-.bvr.verif.externes 2012-02-22
aashee.aziz 2012-01-27
abbas.rangwala 2012-01-27
abbie.gardner 2012-09-10
ab.border-frontiere 2012-08-11
abdool.yasseen 2012-01-31
abdullah.aboukarr 2012-08-10
abdullahi.sheikh 2012-02-28
####
fullname branch
aaron.northway CHIEF FINANCIAL OFFICER BRANCH
aashee.aziz HEALTH PRODUCTS AND FOOD BRANCH
abbey.klugerman HEALTHY ENVIRONMENTS AND CONSUMER SAFETY BRANCH
abby.hoffman STRATEGIC POLICY BRANCH
abderrahim.boussanni CHIEF FINANCIAL OFFICER BRANCH
abdiaziz.nur HEALTHY ENVIRONMENTS AND CONSUMER SAFETY BRANCH
abdool.yassin HEALTH PRODUCTS AND FOOD BRANCH
abdoulie.manjang N/A
abdullah.hassen HEALTH PRODUCTS AND FOOD BRANCH
abdullah.patel REGIONS AND PROGRAMS BRANCH
####
username branch date_modified
aashee.aziz HEALTH PRODUCTS AND FOOD BRANCH 2012-01-27
abdool.yasseen HEALTH PRODUCTS AND FOOD BRANCH 2012-01-31
####
#!F:\strawberry-perl-5.16.1.1\perl\bin\perl -w
use strict;
use warnings;
#use diagnostics;
use Text::CSV_XS
my %File1Map;
my %File2Map;
my $csv = Text::CSV_XS->new ({ binary => 1, auto_diag => 1, allow_whitespace => 1 });
open my $fh1, "<", "final.csv" or die "final.csv: $!";
$csv->column_names ($csv->getline ($fh1)); # Read the header line
while (my $row1 = $csv->getline_hr ($fh1)){
my $File1Map{$row1->{username}} = $row1->{date_modified};
}
open my $fh2, "<", "HCDir.csv" or die "HCDir.csv: $!";
$csv->column_names ($csv->getline ($fh2)); # Read the header line
while (my $row2 = $csv->getline_hr ($fh2)){
my $File2Map{$row2->{fullname}} = $row2->{branch};
}
$csv->eol ("\n"); # Now use it for output
open my $fh3, ">", "completed.csv" or die "completed.csv: $!";
my $oldvalue
my $newvalue
while ($fh1){
$oldvalue = $File1Map{"$username"} = "$date_modified";
$newvalue = $File2Map{"$fullname"} = "$branch";
$csv->print ($fh3, [ $username, $newvalue, $oldvalue ]);
}