my @stuff = 0 .. 9; my @lastitem ; for my $item ( @stuff ){ my $next = $item; if( @lastitem and $item eq $lastitem[-1] ){ print "they measure up\n"; } push @lastitem, $item; shift @lastitem while 3 == @lastitem; ### keep at most 3 last items }