my (%BIN, %CACHE); sub data { ... return $CACHE{$class} || undef } sub is_binary { keys %{_all($_[1])} ? !!$BIN{$_[1]}{$_[2]} : undef } ## later on inside Mojo::Loader my $all = $CACHE{$class} = {}; $all->{$name} = $name =~ s/\s*\(\s*base64\s*\)$// && ++$BIN{$class}{$name} ? b64_decode($data) : $data; ## later on outside Mojo::Loader my $same = Mojo::Loader->new->data('class'); $same = Mojo::Loader->new->data('class'); my $same_also = Mojo::Loader->new->data('class', 'file'); $same_also = Mojo::Loader->new->data('class')->{'file'}; #### my $the_loader = app()->loader || Mojo::Loader->singleton ; $the_loader->load( $module ); $the_loader->data->get( $module, $key ); $the_loader->data->set( $module, $key, $value ); $the_loader->data_get( $module, $key ); $the_loader->data_set( $module, $key, $value );