use strict; use warnings; my $File_Deal = $ARGV[0]; my $File_ATT = $ARGV[1]; open(F1, "<", $File_Deal) or die $!; my $header_line; my @header_array; # File_Deal chomp( $header_line = ); @header_array = split('\|', $header_line ); my %HEADER_File_Deal = map { $header_array[$_] => $_ } (0..@header_array-1); my %hash = (); while( ) { chomp; my @values = split(/\|/, $_); # parent_cusp|cusp|isin|deal|tranche|det_date|col_type my $key = $values[$HEADER_File_Deal{"parent_cusp"}] . $values[$HEADER_File_Deal{"deal"}] . $values[$HEADER_File_Deal{"tranche"}]; print "key=$key is ( @values )\n"; }