use warnings; use strict; use Tie::File; my $file = 'a.txt'; my $num_headers = $ARGV[0]; my $num_footers = ++$ARGV[1]; tie my @file, 'Tie::File', $file or die $!; my $stop = scalar @file - $num_footers; my @section = @file[$num_headers..$stop]; untie @file; print "$_\n" for @section;