Well, almost. STDERR is a filehandle, so direct method invocation syntax is not available to STDERR. While the print FILEHANDLE syntax looks like indirect object syntax, it is really just its own special case. Filehandles are not blessed object references (excepting IO::Handle objects), so you cannot invoke any methods on them.