use warnings;
open (SourceFile, "$ARGV[0]");
open (TargetFile, ">$ARGV[1]");
while (<SourceFile>) {
# Remove the last character from the line.
#$Line = substr($_,0,-1);
chomp;
($Year,$HSP_rates,$Curr,$Scenario,$Version,$Product,$CostCenter,$Activ
+ity,$Entity,$Acct,$BegBal,$Jan,$Feb,$Mar,$Apr,$May,$Jun,$Jul,$Aug,$Se
+p,$Oct,$Nov,$Dec) = split(',',$_);
print TargetFile "$Year,";
print TargetFile "$HSP_rates,";
print TargetFile "$Curr,";
print TargetFile "$Scenario,";
print TargetFile "$Version,";
print TargetFile "$Product,";
if( length( $CostCenter ) > 0 )
{
open (MAPFile,"$ARGV[2]");
while ( <MAPFile> ) {
chomp;
my @line = split(',', $_);
$hash{$line[0]} = $line[0];
$hash1{$line[0]} = $line[2];
$hash2{$line[1]} = $line[1];
$hash3{$line[1]} = $line[3];
if( $hash{"$CostCenter"} eq "$CostCenter" and $hash2{"$A
+ctivity"} eq "$Activity")
{
$c1 = $hash1{"$CostCenter"} and
$a1 = $hash3{"
+$Activity"};
goto ed;
}
else
{
$c1 = "$CostCenter";
$a1 =
+ "$$Activity";
+
}
}
ed:
close(MAPFile);
print TargetFile "$c1,";
print TargetFile "$a1,";
print TargetFile "$Entity,";
}
if( length( $Acct ) > 0 )
{ open (MAPFile,"$ARGV[2]");
while ( <MAPFile> ) {
chomp;
my @line = split(",");
$hash{$line[4]} = $line[4];
$hash1{$line[4]} = $line[5];
$hash2{$line[4]} = $line[5];
if( $hash{"$Acct"} eq "$Acct" )
{
$b1 = $hash1{"$Acct"};
goto ed;
}
else
{
$b1 = "$Acct";
}
}
ed:
close(MAPFile);
print TargetFile "$b1,";
}
print TargetFile "$BegBal,";
print TargetFile "$Jan,";
print TargetFile "$Feb,";
print TargetFile "$Mar,";
print TargetFile "$Apr,";
print TargetFile "$May,";
print TargetFile "$Jun,";
print TargetFile "$Jul,";
print TargetFile "$Aug,";
print TargetFile "$Sep,";
print TargetFile "$Oct,";
print TargetFile "$Nov,";
print TargetFile "$Dec";
print TargetFile "\n";
}
close (SourceFile);
close (TargetFile);
|