use HTML::FormatSomething; my $infile = "whatever.html"; my $outfile = "whatever.file"; open OUT, ">$outfile" or die "Can't write-open $outfile: $!\n"; print OUT HTML::FormatSomething->format_file( $infile, 'option1' => 'value1', 'option2' => 'value2', ... ); close(OUT);
HTML formatters are able to format a HTML syntax tree into various printable formats. Different formatters produce output for different output media. Common for all formatters are that they will return the formatted output when the format() method is called. The format() method takes a HTML::Element object (usually the HTML::TreeBuilder root object) as parameter.
The distribution name has been changed to "HTML-Formatter" as detailed in ``DISTRIBUTION NAME''
my $formatter = FormatterClass->new( option1 => value1, option2 => value2, ... );
This creates a new formatter object with the given options.
$string = FormatterClass->format_file( $html_source, option1 => value1, option2 => value2, ... );
Return a string consisting of the result of using the given class to format the given HTML file according to the given (optional) options. Internally it calls "SomeClass->new( ... )->format( ... )" on a new HTML::TreeBuilder object based on the given HTML file.
$string = FormatterClass->format_string( $html_source, option1 => value1, option2 => value2, ... );
Return a string consisting of the result of using the given class to format the given HTML source according to the given (optional) options. Internally it calls "SomeClass->new( ... )->format( ... )" on a new HTML::TreeBuilder object based on the given source.
my $render_string = $formatter->format( $html_tree_object );
This renders the given HTML object according to the options set for $formatter.
After you've used a particular formatter object to format a particular HTML tree object, you probably should not use either again.
As of release 2.13 this is released as the "HTML-Formatter" distribution with corresponding changes to the git repository name and associated items.
Due to the way that the module is put together this should have no effect on code using the module. The only issues will be where the distribution name was used within dependancies.
Also the HTML manipulation libraries used - HTML::TreeBuilder, HTML::Element and HTML::Tree
<https://github.com/nigelm/html-formatter>
git clone https://github.com/nigelm/html-formatter.git
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.