#!/usr/bin/perl
use strict;
{
# Get filename, starting regex and stopping regex
# from the command line.
my ( $filename, $start, $stop ) = @ARGV;
# Check the inputs, open the file.
die "ERROR: Need to define start and stop arguments."
unless ( defined($start) && defined($stop) );
open(INPUT, $filename) or
die "Unable to open $filename: $!";
# Loop through the file, looking for the starting
# regexp and skipping lines till then.
while() {
if ( /$start/ ) {
# Found the matching line! Print it, and start
# looking for the stopping regexp.
print;
while() {
# If we found the stopping regexp, drop out
# of this loop; otherwise, print a line and
# keep going.
if ( /$stop/ ) { last; } else { print; }
}
}
}
close(INPUT);
}