#! perl -slw use strict; my $word = 'little'; while( ) { m[( [^ \n]*[^\w\n]* (\b\Q$word\E\b) [^\w\n]*[^ \n]* )]x and print "$2, $., $1"; } __DATA__ little boy blue come blow on your horn give a little, take a lot give a lot, take a little Mary had a little lamb Don't belittle the little guy