use strict; use warnings; my $lookback = 3; my $match = qr/\wiz/; my @lbuff; while () { /$match/ and defined $lbuff[ $. % $lookback ] and print "$lbuff[ $. % $lookback ]"; $lbuff[ $. % $lookback ] = $_; } __DATA__ foo bar baz biz buz goo car caz ciz cuz