package Onsite::Template::Plugin::Mirror; use strict; use warnings; use HTML::TokeParser::Simple; BEGIN { require LWP::Simple; } use base qw/Onsite::Template::Plugin::Base/; sub run { my $self = shift; my $site = $self->get_site; my $html = LWP::Simple::get( $site ); my $output = ''; if ( ! $html ) { $output = "Could not retrieve Web page for '$site'"; } else { my $p = HTML::TokeParser::Simple->new( \$html ); my $token; do { $token = $p->get_token } until $token->is_start_tag('body'); do { $token = $p->get_token; last if ! $token; # just in case someone forgets a closing body tag $output .= $token->return_text; } until $token->is_end_tag('body'); } return $output; } #### http://somesite.com/mod_perl/index.cgi?page=3&site=http://some_target.com