use Modern::Perl; open my $FILEA, '<', './FILEA.TXT' or die $!; open my $FILEB, '<', './FILEB.TXT' or die $!; open my $FILEC, '<', './FILEC.TXT' or die $!; open my $FILED, '<', './FILED.TXT' or die $!; my $ts_B = 0; my $ts_C = 0; my $ts_D = 0; while ( my $ts_A = <$FILEA> ) { chomp $ts_A; say "A:$ts_A matches B:$ts_B" if $ts_A == $ts_B; while ( $ts_B = <$FILEB> ) { chomp $ts_B; last if $ts_B > $ts_A; next if $ts_B < $ts_A; say "A:$ts_A matches B:$ts_B"; } say "A:$ts_A matches C:$ts_C" if $ts_A == $ts_C; while ( $ts_C = <$FILEC> ) { chomp $ts_C; last if $ts_C > $ts_A; next if $ts_C < $ts_A; say "A:$ts_A matches C:$ts_C"; } say "A:$ts_A matches D:$ts_D" if $ts_A == $ts_D; while ( $ts_D = <$FILED> ) { chomp $ts_D; last if $ts_D > $ts_A; next if $ts_D < $ts_A; say "A:$ts_A matches D:$ts_D"; } }