my @buffer; { push @buffer, scalar ; redo unless eof(IN) or @buffer >= 10; ## process @buffer @buffer = (); redo unless eof(IN); }