EDIT: This was meant as a reply to the OP.If you really need every line's information, $fread is probably going to be the most efficient. If you want to search for a given text in the file, then $read() with -r,-s,-w options is probably the best for a single match (as would be the case for most spam/language catchers), or for multiple matches with a search text, /filter is probably the best option.
With more details on what the script is meant to do, the best option could be given. But, a real basic script if you don't want to learn anything beyond $read() would be...
alias ReadFile {
var %counter = 1, %total = $lines(file)
while (%counter <= %total) {
var %line = $read(file,%counter)
; Do whatever you want with %line here (such as the following echo command)
echo -a %line
inc %counter
}
}
Replace the two instances of "file" with the filename (and path if it's located somewhere other than $mircdir).
Use: /readfile
Again, there are better options, but this is about as basic as you can get.
Here's a basic spam/language check...
on *:text:*:#: {
var %counter = 1, %total = $0
while (%counter <= %total) {
if ($read(file,w,$+(*,$($+($chr(36),%counter),2),*))) { echo -a spam/language found... | break }
inc %counter
}
}
The file can then be set up as:
badword1
badword2
badword3
etc...
Of course, such a filter wouldn't just echo something. You'd usually kick/ban the person or something along those lines. This is just a really basic example.