in reply to Finding a specific value in another file

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.