#!/usr/bin/perl use strict; my @file = ; for my $i (0 .. $#file) { if ( $file[$i] =~ /pattern/ ) { print "$file[$_]" for ($i-3 .. $i-1); } } __DATA__ log info line yada yada 0 log info line yada yada 1 log info line yada yada 2 log info line yada yada 3 log info line (pattern) 4 log info line yada yada 5