Packageの名前を動的に変更したい

#!/user/bin/perl

use strict;
use warnings;

no strict;

my $pkg_href = 'Foo::';
my $new_href = 'Bar::';

foreach my $symbol ( keys %{ $pkg_href } ){
    *glob = $pkg_href->{ $symbol } ;
    if( defined &glob ) {
        *{ $new_href . $symbol} = \&glob ;
    }
}


print Bar::foo() . "\n";

package Foo;
use strict;
use warnings;

sub foo {
    return 'result is foo';
}


1;

ウーン。何か違う気がする。こんな感じでなんか、ないんかなぁ。

use Foo;
use RenamePackageName;

RenamePackageName->from('Foo')->to->('Bar');

print Bar::foo();