my @lines; while (<>) { push @lines, $_; next if $. % 3; ... @lines = (); } die if @lines; #### while (!eof()) { my @lines; defined( $lines[@lines] = <> ) or die for 1..3; ... }