There's a short and a long answer. The short answer is no.
(The reason is that the syntax is special cased. You cannot
make a user function with the same prototype.)
The long answer is, yes you can, provided you use IO::File
and use its print method. Then you can just
subclass IO::File, and mask the print method.