use Fatal qw(open); use constant MAXLINES => 2; open my $i, 'data.txt'; (local $/, my ($sum, $buf)) = ( '', 0 , undef); while (<>) { $buf .= $_; $sum += tr /\n/\n/; next if $sum < MAXLINES ; print "$buf----------";; ($sum, $buf) = (0, undef ); }