#!/usr/bin/perl use 5.12.0; my ( $file1, $file2 ) = qw( 1.txt 2.txt ); my %seen; for my $file ( $file1, $file2 ){ open my $fh, '<', $file or die "Can't open file $file: $!"; while ( my $line = <$fh> ){ chomp; next if $line !~ /RC=?\d{4}\s+/; $line =~ s/RC=/RC/; $line =~ /(RC\d{4})\s+/; my $string = $1 if $1; $seen{ $string } = $line; } close $fh; } for my $key ( keys %seen ){ say $seen{ $key }; }