#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use List::MoreUtils 'duplicates'; my (@lines); while (<>) { next if /^\s*$/; # skip empty lines chomp; push @lines, $_; } continue { close ARGV if eof; # Not eof()! } my @dublicatedLines = duplicates @lines; print Dumper \@lines, \@dublicatedLines; __END__ $ perl test.pl File1.txt File3.txt $VAR1 = [ 'ID121 ABC14', 'ID122 EFG87', 'ID145 XYZ43', 'ID157 TSR11', 'ID181 ABC31', 'ID962 YTS27', 'ID567 POH70', 'ID921 BAMD80', 'ID121 ABC14', 'ID612 FLOW12', 'ID122 EFG87', 'ID745 KIDP36', 'ID145 XYZ43', 'ID157 TSR11' ]; $VAR2 = [ 'ID121 ABC14', 'ID122 EFG87', 'ID145 XYZ43', 'ID157 TSR11' ];