"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]

Reply via email to