in reply to Diamond errors

I'm not sure I understand the question ...

Is it directed to one-liners only or is it just a demo?

you can always check with -e if the file exists and generate a meaningful message

checking $! "after the loop" seems wrong, because they are reset.

Maybe push them all onto your own @errors_stack which you print afterwards?

edit

> there doesn't seem to be a way for the program to detect that a file wasn't processed

IIRC: $. should tell you the current line number.

You could check if it's false at eof

Cheers Rolf
(addicted to the 𐍀𐌴𐍂𐌻 Programming Language :)
Wikisyntax for the Monastery