in reply to Reading multiple lines?

What you're asking for is kind of weird, so yah, there's not going to be an elegant way to do it (that I can think of). I might approach it like this:
for ($i=0, @chunk = (); !eof(IN) && $i < 10; $i++) { $chunk[$i] = <IN>; }
That should probably answer your question. In the event you're curious about any other alternatives to your approach, you could perhaps read data from the file in blocks (of, say, 1k or 4k or whatever), and handle that block before moving on:
# Untested, but you get the idea while (read(IN, $buf, 1024, length($buf))) { while ($buf =~ s/^([^\r\n]*)[\r\n]+//) { handle_line($1); } }
Realistically, though, this isn't buying you any performance, if that's what you're worried about. Let Perl do the line handling.