Sorry to add to the confusion, but...

Apart from the naming convention, is there a reason that ARGF is
documented as a global constant and $< as a global variable? They both 
reference the same object, and effectively have the same semantics. Am 
I missing something subtle here?

Regards

Dave