> perl use strict; use warnings; use diagnostics; sub myprint { my( $fh, $text ) = @_; print $fh $text; } sub STDOUT { print "Woops!\n"; } myprint( *STDOUT, "Hello world!\n" ); __END__ Hello world! > #### > perl my $x=\*STDOUT; $x->print("hu hu"); __END__ Can't locate object method "print" via package "IO::Handle" at - line 2. #### > perl open my $x, ">", "/tmp/tst"; $x->print("hu hu"); print `cat /tmp/tst`; __END__ Can't locate object method "print" via package "IO::Handle" at - line 2.