#!/usr/bin/env perl use Modern::Perl; my $lb = 3; # lookback my $match = qr/\wiz/; my @buff; while ($buff[$.%($lb+1)] = ($_ = )) { my $lbi = ($.+1)%($lb+1); # lookback index print $buff[$lbi] if defined $buff[$lbi] and /$match/; } __DATA__ foo bar baz biz buz goo car caz ciz cuz