my $package = My::Package->new( \&user_sub ); $package->add_data( @user_data ); my $value = $package->operate_on_all_data(); sub user_sub { # code here }