use strict;
use warnings;
use HTML::TokeParser::Simple;
my $p = HTML::TokeParser::Simple->new("foo.html");
sub new_form_tag {
my ($attr) = @_;
$attr->{value} = "foo"
if $attr->{name} eq "bar";
return join " ", "{$_}"), keys %$attr), ">";
}
while(my $token = $p->get_token) {
print $token->is_start_tag('input')
? new_input_tag($token->return_attr)
: $token->as_is;
}