#!/usr/bin/perl

use strict;

use Text::CSV_XS;

my %DocTypes = ( 'IEBO' => 'CEBO', 'CEBO' => 'IEBO', 'IAPI' => 'CAPI', 'CAPI' => 'IAPI' );

if ( $ARGV[0] ) {
    createOutput();
} else {
    usage();
}

sub createOutput {
    open( my $fhOrig, "<:encoding(utf8)", $ARGV[0] ) or usage();
    binmode( STDOUT, ":utf8" );
    my $fhOut = \*STDOUT;

    my $cOrig = Text::CSV_XS->new( { binary => 1 } );
    my $cOut = Text::CSV_XS->new( { quote_char => '', eol => $/ } );

    my $linenum = 1;
    while ( my $orig = $cOrig->getline($fhOrig) ) {
        if ( $orig->[0] ne 'GEBO' ) {
            $orig->[0] = $DocTypes{ $orig->[0] } if $linenum > 1;

            die("What's up doc?") if !$orig->[0];

            $cOut->print( $fhOut, $orig );
        }

        $linenum++;
    }

    close($fhOrig);
    close($fhOut);
}

sub usage {
    print( "Usage $0 /path/to/existing\n" . "\n" . "\tupdated file is output to STDOUT" );
}

1;
