@files = ();



sub makefile {
  my %vars = {};
  $vars{'NAME'} = shift;
  $vars{'AGE'} = shift;
  $vars{'CONTENT'} = shift;
  my $filename = "$vars{'NAME'}.html";
  push(@files,$filename);
  open INFILE, "<template.html";
  open OUTFILE, ">$filename";
  while ($line = <INFILE>) { 
    $line =~ s/--(\w+)--/$vars{$1}/g;
    print OUTFILE $line; 
  }

  close INFILE;
  close OUTFILE;
}


open DATAFILE, "<cmsdata.txt";

$state = 0;    # 0 - expecting name
               # 1 - expecting age
               # 2 - expecting content

open IN, "<data.txt";
while ($line = <IN>) { 
  chomp($line);
  if ($line eq "###") { 
    makefile($name,$age,$content);
    $content = "";
    $state = 0;
  } else {
    if ($state == 0) { $name = $line; $state = 1;}
    elsif ($state == 1) { $age = $line;  $state = 2;}
    elsif ($state == 2) { $content .= $line; }
  }
}

print "\n\n";

open TOC, ">index.html";
for $f (@files) { 
  print TOC "<a href='$f'>Person</a><br />"; 
}
close TOC;

1