Here is a program I threw together after surfing the Internet.
#!/usr/bin/perl
# html_indenting2.pl perl html_indenting2.pl HTML indenting wit
+h Perl.
# From http://stackoverflow.com/questions/8225194/html-indenting-with-
+perl best answer
use strict;
use warnings;
use HTML::HTML5::Parser qw();
use HTML::HTML5::Writer qw();
use XML::LibXML::PrettyPrint qw();
print HTML::HTML5::Writer->new(
start_tags => 'force',
end_tags => 'force',
)->document(
XML::LibXML::PrettyPrint->new_for_html(
indent_string => "\t"
)->pretty_print(
HTML::HTML5::Parser->new->parse_string(
q[<meta content="J K Rolling" name="Author" />
<meta content="Harry Potter and the Philosopher's Stone" name="title"
+/>
]
)
)
);
# This prints:
# <!DOCTYPE html><html>
# <head>
# <meta content="J K Rolling" name=Author>
# <meta content="Harry Potter and the Philosopher's St
+one" name=title>
# </head>
# <body></body>
# </html>
__END__
The order of the meta content is the way you want it.