HTML-Template-JIT
view release on metacpan or search on metacpan
my $package_path = File::Spec->catfile($package_dir, "$package.pm");
print STDERR __PACKAGE__ . "::new() : found file : $path : $path_md5\n"
if $args{jit_debug};
print STDERR __PACKAGE__ . "::new() : attempting to load...\n"
if $args{jit_debug};
# try to load the module and return package handle if successful
my $result;
eval { $result = require $package_path; };
if ($result) {
$package->clear_params(); # need to clear out params from prior run
return $package;
}
# die now if we can't compile
croak(__PACKAGE__ . "::new() : no_compile is on but no compile form for $path is available!")
if $args{no_compile};
print STDERR __PACKAGE__ . "::new() : compiling...\n"
JIT/Compiler.pm view on Meta::CPAN
print STDERR join('', <CODE>);
close(CODE);
unlink('code.tmp');
print STDERR "\n\n###################### CODE END ######################\n\n";
}
$self->_write_module(\@code);
# try to load the module and return package handle if successful
my $result;
eval { $result = require $self->{package_path}; };
return 1 if $result;
# don't leave failed compiles lying around unless we're debuging
rmtree($self->{package_dir}, 0, 0) unless $self->{jit_debug};
die $@ if $@;
return 0;
}
# writes out the module file
sub _write_module {
( run in 0.353 second using v1.01-cache-2.11-cpan-0d8aa00de5b )