How you extract the columns out depends on the file format; for CSVor TSV, I would recommend either the Text::CSVor Text::CSV_XS modules. If it is freespace columnar, I'd use split.
I would then read the broker file and store the brokers in an array.
Then I would read the ticker file, and for each line, use grepto see if the broker in that file matches anything in the array. If it does, I would store the ticker in a hash, using the broker as the key and the ticker as the value.
Useful snippets:
my @brokerElements = split /\s+/, $brokerLine;
push @brokers, $lineElements[0];
# ...
my @tickerElements = split /\s+/, $tickerLine;
my $broker = $tickerElements[1];
my $ticker = $tickerElements[3];
my $broker_regex = quotemeta $broker;
if (grep /^$broker_regex$/i, @brokers)
{
$tickerInfo{$broker} = $ticker;
}
# ...
foreach my $reportBroker (sort keys %tickerInfo)
{
print "Broker $reportBroker has ticker $tickerInfo{$reportBroker}\
+n";
}
Good luck with the project.
|