#!/usr/bin/perl use strict; use warnings; use autodie; sub usage { my $err = shift and select STDERR; print "usage: extract.pl firstline lastline filename\n"; exit $err; } # usage use Getopt::Long qw(:config bundling nopermute); GetOptions ( "help|?" => sub { usage (0); }, ) or usage (1); my ($start, $stop, $file) = @ARGV; -s $file && $start =~ m/^[0-9]+$/ && $stop =~ m/^[0-9]+$/ && $start <= $stop or usage (1); open my $fh, "<", $file; while (<$fh>) { $. >= $start && $. <= $stop and print "$.: $_"; } close $fh; #### $ perl extract.pl 5 8 extract.pl 5: use autodie; 6: 7: sub usage 8: { $ #### $ perl -wne'5..8 and print' extract.pl use autodie; sub usage { $