package Output_Strategy::HTML;
package Output_Strategy::CSV;
. . .
my $output_strategy = $opt{'html'}
? 'Output_Strategy::HTML'
: 'Output_Strategy::CSV';
$output_strategy->preamble;
$output_strategy->render(@data);
$output_strategy->postamble;
# whatever
####
package Foo;
use base 'Output_Strategy'; # this is a 'strategy handle class'
. . .
# set the inheritance path at run time:
@Output_Strategy::ISA = ( $opt{'html'}
? 'Output_Strategy::HTML'
: 'Output_Strategy::CSV' );