#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Exam::ATC; use Test::AC1; use My::Wrapper; my @possible_methods = qw( get_a get_b get_ set_ get_value set_value get set wrapper_get wrapper_set ); my $wrapper = My::Wrapper->new(); my $something = Exam::ATC->new(qw(a b c d)); $wrapper->set_original_object($something); $wrapper->set('a'); print Dumper($wrapper); print "the value of [c] is [", $wrapper->get('c'), "]\n"; foreach my $method (@possible_methods) { printf "the object %s $method\n", $wrapper->can($method) ? 'can' : 'cannot'; } my $object = Test::AC1->new(qw(a b c d)); $wrapper->set_original_object($object); $wrapper->set('c'); print Dumper($wrapper); print "the value of [a] is [", $wrapper->get('a'), "]\n"; foreach my $method (@possible_methods) { printf "the object %s $method\n", $wrapper->can($method) ? 'can' : 'cannot'; }