--- /dev/null
+#!/usr/bin/perl
+
+@ARGV || die "Usage: $0 template1.htm [... templateN.htm]\n";
+
+
+my %tags;
+
+foreach my $file ( @ARGV )
+{
+ if( open F, "< $file" )
+ {
+ local $/ = undef;
+
+ my $data = <F>;
+
+ while( $data =~ m/ <%: -? (\w+) (.*?) %> /sgx )
+ {
+ my ( $key, $val ) = ( $1, $2 );
+
+ if( $key && $val )
+ {
+ $val =~ s/\s+/ /sg;
+ $val =~ s/^\s+//;
+ $val =~ s/\s+$//;
+
+ $tags{$key} = $val;
+ }
+ else
+ {
+ $tags{$key} ||= '';
+ }
+ }
+
+ close F;
+ }
+}
+
+foreach my $key ( sort keys %tags )
+{
+ if( $val =~ /'/ )
+ {
+ printf "%s = [[%s]]\n", $key, $tags{$key};
+ }
+ else
+ {
+ printf "%s = '%s'\n", $key, $tags{$key};
+ }
+}