#!/usr/bin/perl -w use strict; use HTML::TreeBuilder; if(!scalar @ARGV) { print STDERR "Usage: htmlappend main.html 2.html 3.html ... > merged.html\n"; exit -1; } my $firstFilename = shift(@ARGV); my $mainTree = HTML::TreeBuilder->new; $mainTree->parse_file($firstFilename); my $mainBody = $mainTree->find_by_tag_name('body'); foreach my $filename (@ARGV) { my $tree = HTML::TreeBuilder->new; $tree->parse_file($filename); my $body = $tree->find_by_tag_name('body'); foreach my $child ($body->content_list()){ $mainBody->push_content($child); } $tree = $tree->delete; } print $mainTree->as_HTML(undef, "\t", {}); $mainTree->delete;