my $src_pkg_name = 'PACKAGEA::PACKAGEB'; my $dst_pkg_name = __PACKAGE__; { no strict 'refs'; foreach (keys(%$src_pkg_name)) { my $sym_name = $_; my $src_sym_ref = "$src_pkg_name::$sym_name"; my $dst_sym_ref = "$dst_pkg_name::$sym_name"; my $ref; $ref = *$src_sym_ref{SCALAR}; *$dst_sym_ref = $ref if $ref; $ref = *$src_sym_ref{ARRAY }; *$dst_sym_ref = $ref if $ref; $ref = *$src_sym_ref{HASH }; *$dst_sym_ref = $ref if $ref; $ref = *$src_sym_ref{CODE }; *$dst_sym_ref = $ref if $ref; } }