"John W. Krahn" wrote: > > my $before = 1; > my $after = 1; > my @buffer; > > while ( my $line = <FILE> ) { > > push @buffer, $line; > > shift @buffer if $#buffer > $before + $after; > > next if $#buffer < $before; > > if ( $buffer[ $before ] =~ /found matching regex/ ) { > > print @buffer; > > } > } > > __END__
Sorry about that, this should work better: my $before = 1; my $after = 1; my @buffer; while ( my $line = <FILE> ) { push @buffer, $line; shift @buffer if $#buffer > $before + $after; next if $#buffer < $before; if ( $buffer[ $before ] =~ /found matching regex/ ) { print @buffer; @buffer = (); } } __END__ John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]