use Module::Load; my $class = 'DTF::Wget'; load $class; my $adapter = $class->new( 'input_line' => $input_line, 'dl_base_dir' => $dl_base_dir, 'report_file' => $report_file ); #### package DTF::Wget; use strict; use warnings; use Moose; with 'DTF::Transfer'; #### package DTF::Transfer; use strict; use warnings; use Moose::Role; sub BUILD {} after 'BUILD' => sub { my $self = shift; die scalar(keys %$self); }