Locale::Maketext external cache support
This patch with tests provides RO support for lexicon hashes in
Locale::Maketext. This allows you to have GDBM language files owned by
root which can be accessed by non-root, but not altered.
If your lexicon is a tied hash the simple act of caching the compiled
value can be fatal.
For example a GDBM_File GDBM_READER tied hash will die with something
like:
gdbm store returned -1, errno 2, key "..." at ...
All you need to do is turn on caching outside of the lexicon hash itself
like so:
sub init {
my ($lh) = @_;
...
$lh->{'use_external_lex_cache'} = 1;
...
}
And then instead of storing the compiled value in the lexicon hash it
will store it in $lh->{'_external_lex_cache'}
I've verified that blead is the authoritative location for
Locale::Maketext source.
Signed-off-by: David Golden <dagolden@cpan.org>