I am developing some web pages locally and wanted to automate submissions to the W3C validation service. This is the basis for some code I wrote to test my web pages.
use strict;
use warnings;
use WWW::Mechanize;
use Test::More qw(no_plan);
my $mech = WWW::Mechanize->new( autocheck => 1 );
$mech->timeout(120); #validator page can be damn slow.
$mech->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'); #
+disguise ourselves.
$mech->get( "http://validator.w3.org/" );
#print $mech->content;
my $test_html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transiti
+onal//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1
+">
</head>
<body>
</body>
</html>';
$mech->form(3);
$mech->field("fragment", $test_html);
$mech->click();
my $content = $mech->content;
my $valid = qr/This Page Is Valid HTML/i;
like($content,$valid,"valid html");