sub Call { my $self = shift; my $method = shift; my $it = $self->OStream->$method($_[0]); $self->Trace(_CallerStr($it)); return $it; }; #### our $AUTOLOAD; # needs to be a package global sub AUTOLOAD { $AUTOLOAD =~ s/.*:://; # strip package name return if $AUTOLOAD eq 'DESTROY'; splice @_, 1, 0, $AUTOLOAD; # package/object, method, rest of args goto \&Call; }