That will consume more resources than is necessary.
Your version would read from the file twice on each use. Don't forget that $lines() is an extremely resource hungry identifier, as it has to read the entire file line by line and count each line. $lines() should be avoided wherever possible.

Code:
On *:TEXT:!LKF*:#:{     
  :BEGIN
  inc %LKF.line
  var %s = $read(LKF.txt,n,%LKF.line)
  if ( !%s ) && ( %LKF.line != 1 ) { set %LKF.line 0 | goto BEGIN }
  msg $chan Litte Known Fact: %s
}


This code may take more lines, but uses enormiously less resources. I also took infiniate looping into consideration with ( %LKF.line != 1 ), should the file be empty.

- Raccoon


Well. At least I won lunch.
Good philosophy, see good in bad, I like!