--- deliantra/Deliantra-Client/DC.pm 2006/06/02 16:27:27 1.86 +++ deliantra/Deliantra-Client/DC.pm 2006/06/05 05:31:13 1.88 @@ -26,6 +26,7 @@ use Carp (); use AnyEvent (); use BerkeleyDB; +use Pod::POM; sub find_rcfile($) { my $path; @@ -70,13 +71,27 @@ close CFG; } -mkdir "$Crossfire::VARDIR/cfplus", 0777; +my %POD_CACHE; + +sub load_pod($) { + $POD_CACHE{$_[0]} ||= do { + my $pod = do { + local $/; + open my $pod, "<:utf8", $_[0] + or die "$_[0]: $!"; + <$pod> + }; + + Pod::POM->new->parse_text ($pod) + } +} our $DB_ENV; { use strict; + mkdir "$Crossfire::VARDIR/cfplus", 0777; my $recover = $BerkeleyDB::db_version >= 4.4 ? eval "DB_REGISTER | DB_RECOVER" : 0;