############################################################### use warnings; use strict; my $fsearch = 'filename.txt'; print "\nEnter a string to search for:>"; my $search = ; chomp $search; open my $TEXTFILE, '<', $fsearch or die "\nCan't open $fsearch $!\n"; $/ = "\n\n"; my ($linecount, $count) = (0,0); while (my $paragraph = <$TEXTFILE>) { while ($paragraph =~ /([^\n]*?($search)([^\n]*))/mig) { $count++; my $linenumber = $linecount + substr($paragraph, 0, $-[0]) =~ tr/\n/\n/ + 1; print "\n'$2' found on line #$linenumber\n\n"; print "$1\n", '-' x 79; pos $paragraph -= length $3; } $linecount += $paragraph =~ tr/\n/\n/; } print "\nThe string '$search' was ", ($count ? "found $count times" : "not found"), " in $fsearch"; ###############################################################