package My::Utils; my %instance; sub read_conf { #fills %instance } sub value { my ($name, $new_val) = @_; if (2 == @_) { #new value passed $instance{$name} = $new_val; } return $instance{$name}; } package My::Something use My::Utils; print My::Utils::value("something_configured");