$ cat t.pl
#!/usr/bin/perl
use 5.14.0;
use warnings;
use autodie;
#START
# Ignore first few lines (read & discard)
my $start=2;
<DATA> for 1..$start;
#END
# Process file...
while (<DATA>) {
print;
}
__DATA__
Now is the time
for all good men
to come to the aid
of their party.
$ perl t.pl
to come to the aid
of their party.
Just add the lines between START and END to your program after opening your file. That way, it'll just discard the first $start lines before processing the remainder of the file.
As an added bonus, you can also:
- Make the $start parameter a command-line argument.
- Add another argument to limit the number of lines processed.
This lets you fire off multiple jobs that can run in parallel:
$ perl www_whacker.pl --start 200000 --limit 100000 >out1 &
$ perl www_whacker.pl --start 300000 --limit 100000 >out2 &
$ perl www_whacker.pl --start 400000 --limit 100000 >out3 &
$ # wait for all jobs to complete, then you can join all
$ # the results together:
$ cat out1 out2 out3 >output
...roboticus
When your only tool is a hammer, all problems look like your thumb. |