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