You really should look into Templating Solutions. Here are
two for your amusement:
- Template:
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI;
use LWP::Simple;
use Template;
my $cgi = CGI->new;
print $cgi->header;
my $source;
if ($cgi->param('fetch')) {
$source = LWP::Simple::get($cgi->param('url'));
}
my $template = Template->new({
INCLUDE_PATH => '/usr/local/tt2/templates'
});
$template->process(\*DATA, {cgi => $cgi, source => $source});
__DATA__
[% WRAPPER html/page html.head.title = 'view source' %]
<form method="POST">
Enter URL: [% cgi.textfield('url') %]
<p>[% cgi.submit('fetch') %]</p>
</form>
[% IF source %]
<hr/>
<pre>[% FILTER html %][% source %][% END %]</pre>
<hr/>
[% END %]
[% END %]
- HTML::Template:
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI;
use LWP::Simple;
use HTML::Template;
my $cgi = CGI->new;
my $template = HTML::Template->new(
filehandle => \*DATA,
associate => $cgi,
);
if ($cgi->param('fetch')) {
$template->param(source => LWP::Simple::get($cgi->param('url')));
}
print $cgi->header, $template->output;
__DATA__
<html>
<head>
<title>view source</title>
</head>
<body>
<form method="POST">
Enter URL: <input type="text" name="url"/>
<p><input type="submit" name="fetch" value="fetch"/></p>
</form>
<tmpl_if source>
<hr/>
<pre><tmpl_var name="source" escape="HTML"></pre>
<hr/>
</tmpl_if>
</body>
</html>
Feel free to ask questions about these modules, they are
designed to make your life easier - but you don't appreciate
that up front. ;)
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|