sub _html_tag {
my ( $tag, $attr, $attrseq) = @_;
my $html;
$html = "<$tag";
if ($attrseq and ref($attrseq) eq 'ARRAY') {
foreach my $key (@$attrseq) {
if (defined $attr->{$key}) {
$html .= " $key="._arg_escape($attr->{$key});
} else {
$html .= ' '.$key;
}
}
} elsif ($attr and ref($attr)) {
foreach my $key (keys %$attr) {
if (defined $attr->{$key}) {
$html .= " $key="._arg_escape($attr->{$key});
} else {
$html .= ' '.$key;
}
}
}
$html .= ">";
return $html;
}
sub _arg_escape {
my $arg = shift;
return qq{"$arg"} if ($arg !~ /"/);
return qq{'$arg'} if ($arg !~ /'/);
$arg =~ s/"/&dblquote;/g;
return qq{"$arg"};
}