package My::Module;
use strict;
sub import {
my ($class, %args) = @_;
...
# Dynamically load either My::Module::API1 or My::Module::API2
};
####
package My::Module::API1;
# The old API
####
package My::Module::API2;
# The new API
####
use My::Module api => 'API1';
...