#!/usr/bin/perl use strict; use warnings; use Data::Dumper; $| = 1; # turn on autoflush my $file = 'file.txt'; open my $fh, "<", $file or die "Could not open '$file': $!"; chomp(my @files = <$fh>); close $fh or die "Coould not close '$file' $!"; while (my $stdin = <>) { chomp $stdin; last if $stdin eq ""; # exit stdin if empty string if ( grep { lc $stdin eq $_ } @files ) { print Dumper \@files; } else { print "There is no word in the $file\n"; } } __DATA__ $ perl file.pl DATA1 $VAR1 = [ 'data1', 'data2', 'data3', 'data4' ]; data1 $VAR1 = [ 'data1', 'data2', 'data3', 'data4' ]; DATA100 There is no word in the file.txt