use strict; use warnings; my $file1Data = "1\t2\t3\t4"; my $file2Data = "5\t6\t7\t4"; open my $fileText, '<', \$file1Data; my @firstLine1 = split /\t/, <$fileText>; close $fileText; open my $fileText2, '<', \$file2Data; my %firstLine2Fields = map {$_ => 1} split /\t/, <$fileText2>; foreach my $sample1 (@firstLine1) { print "Matched $sample1\n" if exists $firstLine2Fields {$sample1}; }