###########################
#  multi.pl

use strict;
use HTML::Template;

my(%t,@fld,$n,$template,@loop);
print "Please input filename=";
chop($t{root}=<STDIN>);
$t{tmpl} = 'index.html';
$t{inputf} = $t{root} . '.txt';

open(IN,"names.txt") or die "Can't open the file names.txt.\n";
while(<IN>){
    if ( /^NAME\s/ ) {
        @fld = split;
        $t{list}{$fld[1]} = $fld[2];
    }
}
close(IN);

$template = HTML::Template->new(filename => $t{tmpl});
@loop = ();

$t{htmfile} = $t{root} . '.htm';

$t{flag} = 1;
open(IN,"$t{inputf}") or die "Can't open the file $t{inputf}";
while(<IN>){
    next if $. == 1;
    next if length($_) < 2;
    if ( $t{flag} == 1 ) {
        $t{flag} = 2;
        push(@{ $t{N1s} },$_);
        $t{N11} = $_;
    } elsif ($t{flag} == 2) {
        $t{clist}{$t{N11}} = $_;
        $t{flag} = 3;
    } elsif ($t{flag} == 3) {
        $t{elist}{$t{N11}} = $_;
        $t{flag} = 1;
    } 
}
close(IN);

@{ $t{NN} } = sort {lc($a) cmp lc($b)} @{ $t{N1s} };
#@{ $t{NN} } = @{ $t{N1s} };

for $n ( 0 .. $#{ $t{NN} } ) {
    $t{N1} = $t{NN}[$n];
    $t{c1} = $t{clist}{$t{N1}};
    $t{e1} = $t{elist}{$t{N1}};
    my %row = (
            N1 => $t{N1},
            C1 => $t{c1},
            E1 => $t{e1}
    );
    push(@loop, \%row);
}

$t{etitle} = uc($t{root});
$template->param(std_loop => \@loop);
$template->param(ename => $t{etitle});
$template->param(cname => $t{list}{$t{etitle}});
open(OUT,">$t{htmfile}");
print OUT $template->output;
close(OUT);

print "The output file is $t{htmfile}\n";

__END__;
ウホスュマリ| ク゚ヌ| ナコマリ| キソイ| タュネハミ| スィアハミ| ホォキサハミ| ホ萪トノスハミ| ヌ蠖ァマリ| ヌホヨマリ| セナスュマリ| スイハミ| ムノネ| イハニア| ウ犁ヌマリ| チル」マリ| コ簍ョハミ| トタュトセマリ| ヤカーイマリ| ソオニスマリ| カィホハミ| ニスケマリ| ツワアアマリ| キスフ| ミツーヘカサ「ラニ| 莊ヒョマリ| ホ獰ンハミ| テナヤエ| ツーーノスハミ| モッスュマリ| チモホマリ| ニススュマリ| ケノニア| フスハミ| タヨヨチマリ| セイコ」マリ| ヒトニスハミ| ウ、ヤォマリ| ツウノスマリ| ススュハミ| ノロムマリ|