Just to add to what ikegami said, File::ReadBackwards will not only read the file line by line, starting at the end of the file and working backwards, but it will read record by record (which usually is line by line, but doesn't have to be). This is a pretty flexible solution. In fact, unlike the plain old <> operator, File::ReadBackwards allows you to set the record separator based on either literal text, or a regular expression. Nice!
| [reply] [d/l] |