##
package MySTDOUT;
use Tie::Handle;
@ISA = qw/Tie::Handle/;
sub TIEHANDLE {
my $class = shift;
bless {}, $class;
}
sub PRINT {
my $self = shift;
my $caller = caller;
print STDERR map "$caller: $_", @_;
}
package main;
tie *STDOUT, 'MySTDOUT';
print "Foo";
##
##
main: Foo