readFile( 'Text1', \@array1, \@data1 );
readFile( 'Text1', \@array2, \@data2 );
compareTheseThings( \@array1, \@data1 , \@array2, \@data2 );
sub readFile {
my( $filename, $arrayref, $dataref ) = @_;
use autodie qw/ open close /;
open my($fh), '<', $filename ;
...
push @$arrayref, ...;
push @$dataref, ...;
...
close $fh;
return;
}
####
use Data::Dump qw/ dd /;
## this?
{
my( %RedText, %DerText );
$RedText{'Entry 1'}{D}=1;
$RedText{'Entry 1'}{N}=2;
$DerText{'Entry 3'}{N}=6;
$DerText{'Entry 3'}{""}=7; ## uh oh, something fishy
$DerText{'Entry 5'}{D}=4; ## uh oh, duplicates overwrite, no good
$DerText{'Entry 5'}{D}=9;
dd( \%RedText, \%DerText );
}
## maybe this?
{
my( %RedText, %DerText );
$RedText{'Entry 1'}{1}='D';
$RedText{'Entry 1'}{2}='N';
$DerText{'Entry 3'}{6}='N';
$DerText{'Entry 3'}{7}='';
$DerText{'Entry 5'}{4}='D';
$DerText{'Entry 5'}{9}='D';
dd( \%RedText, \%DerText );
}
####
"entry_id", "fist_number", "second_letter"
$hash{"entry_id"}{"fist_number"} = "second_letter";
$bothfiles{first_file}{"entry_id"}{"fist_number"} = "second_letter";