Первый вопрос: нужно ли вам использовать Perl для начала?
Задумывались ли вы об использовании стандартных утилит Linux?
В зависимости от того, как создаются ваши столбцы данных ис разделителями, есть очень хороший шанс, что Linux cut поможет вам извлечь из каждого файла только нужный столбец во временный файл.
Затем используйте Linux sort для сортировки каждого временного файла.
Затем используйте Linux 'diff' или 'comm' для сравнения двух временных файлов.
Ни у одной из предложенных выше утилит не должно быть проблем с нехваткой памяти даже для двух файлов5 миллионов записей, при условии, что у вас есть достаточный объем памяти и дискового пространства (например, для сортировки для создания собственных временных файлов).