#!/usr/bin/perl -w use strict; my @buffer; push @buffer, scalar for 1 .. 5; my $pat = 8; # adjust to value to search for while () { print $buffer[0] if /$pat/; push @buffer, $_; shift @buffer; } __END__ 1 2 3 4 5 6 7 8 9 10