Apache-XPP
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'Apache::XPP',
VERSION => '2.02',
PREREQ_PM => {
'LWP' => 0,
'HTTP::Request' => 0,
'Apache' => 0
}
);
lib/Apache/XPP.pm view on Meta::CPAN
use Apache::XPP;
my $xpp = Apache::XPP->new( Apache->request );
$xpml->run;
=head1 REQUIRES
Apache
Apache::Constants
File::stat
FileHandle
HTTP::Request
LWP::UserAgent
=cut
use Carp;
use strict;
use vars qw( $AUTOLOAD $debug $debuglines );
BEGIN {
$Apache::XPP::REVISION = (qw$Revision: 1.32 $)[-1];
lib/Apache/XPP.pm view on Meta::CPAN
eval q{
use Apache();
use Apache::Constants qw(:response);
};
}
use Carp;
use File::stat;
use FileHandle;
use HTTP::Request;
use LWP::UserAgent;
=head1 EXPORTS
Nothing
=head1 DESCRIPTION
Apache::XPP is an HTML parser which on run time compiles and runs embedded perl code.
lib/Apache/XPP.pm view on Meta::CPAN
# if (($filename =~ m{^(/[/\-\w\.]+)$}) && ($fh->open($1))) {
if ($fh->open($filename)) {
local($/) = undef;
return <$fh>;
} else {
warn "xpp:\tfailed to load file $filename ($!)" . ($debuglines ? '' : "\n");
return undef;
}
} elsif ($filename =~ m{^(?:.+)?://(?:.+)$}) {
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new( 'GET', $filename );
my $res = $ua->request( $req );
warn "xpp:\tattempting to load $filename from LWP::UserAgent" . ($debuglines ? '' : "\n") if ($debug);
if ($res->is_success) {
return $res->content;
} else {
warn "xpp:\tfailed to load file $filename ($!)" . ($debuglines ? '' : "\n");
return undef;
}
} else {
my $qualified = $self->qualify( $filename );
lib/Apache/XPP.pm view on Meta::CPAN
my $st = stat($filename); # using File::stat
if (ref($st) && $st->can('mtime')) {
return $st->mtime;
} else {
warn "xpp:\tcannot stat file ($filename): $!" . ($debuglines ? '' : "\n") if ($debug);
return undef;
}
} elsif ($filename =~ m{^((?:.+)?://(?:.+))$}) {
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new( 'GET', $filename );
my $res = $ua->request( $req );
if (my $headers = $res->headers) {
return $headers->last_modified;
} else {
warn "xpp:\tfailed to get mtime for url ($!)" . ($debuglines ? '' : "\n") if ($debug);
return undef;
}
} else {
warn "xpp:\tattempting to qualify filename, and mtime again '${filename}'" . ($debuglines ? '' : "\n") if ($debug);
return $self->mtime( $self->qualify( $filename ), 1 ) unless ($counter);
( run in 0.426 second using v1.01-cache-2.11-cpan-de7293f3b23 )