in reply to More efficient way to exclude footers
This is a perfect job for Tie::File, along with an array slice. Note that the @file array holds the file open, so if you change the array in any way, you'll also modify the file live-time. If you aren't editing the file, best to take a copy of the tied array, then untie @file before doing any processing.
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;
Input file:
h1 h2 data more data even more data blah f1 f2 f3
Result:
$ ./header.pl 2 3 data more data even more data blah
-stevieb
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: More efficient way to exclude footers
by ikegami (Patriarch) on Aug 19, 2015 at 16:46 UTC | |
by stevieb (Canon) on Aug 21, 2015 at 04:01 UTC |