package Foo; use vars qw($foo_var %foo_hash @foo_barr); sub foo_bar { 1 } my $exported = qr/^foo_/; sub import { my $caller = caller() . '::'; do { require Carp; Carp::croak("You cannot specify an import list to Foo"); } if @_ > 1; $main::{$caller}->{$_} = $Foo::{$_} for grep /$exported/, keys %Foo::; } 42;