1use strict;
2use warnings;
3
4package Test::Tester::Delegate;
5
6use vars '$AUTOLOAD';
7
8sub new
9{
10	my $pkg = shift;
11
12	my $obj = shift;
13	my $self = bless {}, $pkg;
14
15	return $self;
16}
17
18sub AUTOLOAD
19{
20	my ($sub) = $AUTOLOAD =~ /.*::(.*?)$/;
21
22	return if $sub eq "DESTROY";
23
24	my $obj = $_[0]->{Object};
25
26	my $ref = $obj->can($sub);
27	shift(@_);
28	unshift(@_, $obj);
29	goto &$ref;
30}
31
321;
33