49 lines
633 B
Perl
49 lines
633 B
Perl
|
#!/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};
|
||
|
}
|
||
|
}
|