Apache-JAF
view release on metacpan or search on metacpan
lib/Apache/JAF.pm view on Meta::CPAN
return
}
if (-f && -r) {
open IN, $_;
my $text = do { local $/; <IN> };
close IN;
unless ($TEMPLATES->{$_}{code} = Template::Document->new( $PARSER->parse($text) )) {
$TEMPLATES->{$_}{error} = $PARSER->error();
} else {
$TEMPLATES->{$_}{mtime} = (stat(_))[9];
}
}
}
sub load_templates {
my ($self, $package, $dir, $reload) = @_;
local $TEMPLATES = {};
local $PARSER = Template::Parser->new();
lib/Apache/JAF.pm view on Meta::CPAN
sub fetch {
my ($self, $name) = @_;
my $ref;
my $t = "${\( ref $self )}::TEMPLATES";
{ no strict 'refs';
$ref = $$t;
}
foreach my $p (@{$self->paths()}) {
my $full_name = "$p/$name";
if (exists $ref->{$full_name}) {
if ((stat($full_name))[9] > $ref->{$full_name}{mtime}) {
load_templates(undef, ref $self, $p);
no strict 'refs';
$ref = $$t;
}
return wantarray ? ($ref->{$full_name}{code}, $ref->{$full_name}{error}) : $ref->{$full_name}{code};
}
}
return (undef, undef);
}
( run in 1.102 second using v1.01-cache-2.11-cpan-49f99fa48dc )