use warnings; use strict; use Data::Dumper qw/Dumper/; # very useful for debugging ++$|; my @array = (); # check input print "INPUT :\n" . Dumper \@array; foreach my $line (@array){ chomp $line; # remove trailing newline # ignore empty lines next unless (defined$line && $line ne ''); # split on space my @t = split /\s+/, $line; # accept lines with two, identical elements if ( scalar @t == 2 && $t[0] eq $t[1] ){ print "MATCH : $line\n"; } else { print "NO : $line\n"; } } # gives - #INPUT : #$VAR1 = [ # 'file #', # ' #', # 'ass ass #', # ' #', # 'array #', # ' #', # 'rat rasa #', # ' #', # 'arrow ant #', # ' #', # 'sad' # ]; #NO : file #MATCH : ass ass #NO : array #NO : rat rasa #NO : arrow ant #NO : sad __DATA__ file ass ass array rat rasa arrow ant sad