use HTML::TokeParser::Simple;
my $html =<<'END_HTML';
END_HTML
my $parser = HTML::TokeParser::Simple->new(\$html);
my $new_html = '';
while (my $token = $parser->get_token) {
$new_html .= $token->is_start_tag('table')
? new_width_attribute($token)
: $token->as_is;
}
print $new_html;
sub new_width_attribute {
my $token = shift;
my ( $attr, $attrseq ) = ($token->return_attr, $token->return_attrseq);
$attr->{ width } = '300';
my $tag = '';
foreach ( @$attrseq ) {
$tag .= qq{$_="$attr->{$_}"};
}
$tag = "