){
chomp;
my ($filename, $width, $height, $tagname, $contents, $output)=
split /\t/;
if ($filename ne "" && -s $filename) {
$archive{"$tagname\t$contents"}=
{ filename => $filename, width => $width, height => $height };
}
elsif (defined($output)) {
$archive{"$tagname\t$contents"}=$output
};
};
};
close(ARCHIVELOG);
}
sub writearchive {
open(ARCHIVELOG, "> archive.log");
foreach my $key (keys %archive){
if (ref $archive{$key}){
print ARCHIVELOG "$archive{$key}{'filename'}\t".
"$archive{$key}{'width'}\t".
"$archive{$key}{'height'}\t$key\n"
}
else {
print ARCHIVELOG "\t\t\t$key\t$archive{$key}\n";
};
};
close ARCHIVELOG;
}
#################################################################
# This is the main executable.
print "\n$programname\nCopyright (C) 2003 Michael J Miller\n".
"This program comes with absolutely no warranty.\n\n";
chdir dirname $ARGV[0];
&readarchive;
my $filename=basename $ARGV[0];
open(SOURCEFILE, "< $filename"); undef $/; $_=<>; close SOURCEFILE;
s||\n\n|i;
my @sections= m/(.*?)(|
|
||.$)/igs;
$filename =~ s/\.mih$//;
open(HTMLFILE, "> $filename.html");
foreach (@sections){
s|<($tagnames)[\s>].*?\1>|&replace($&)|iesg;
print HTMLFILE "$_";
}
close HTMLFILE;
&writearchive;
|