subsurface/scripts/parse-descriptor.pl

40 lines
922 B
Perl
Raw Normal View History

use Carp;
#set command line arguments
my ($infi, $outfi) = @ARGV;
my ($type) = $outfi =~ /\.([^.]+)$/;
open(my $fh, "<", $infi) || croak "can't open $infi: $!";
open(STDOUT, ">", $outfi) || croak "can't open $outfi: $!";
my $lastVend = "";
while (<$fh>) {
my ($vend, $mod, $set) = split('\t', $_);
if ($type eq "html") {
if ($vend eq $lastVend) {
printf(", %s", $mod);
} else {
if ($lastVend eq "") {
printf("<dl><dt>%s</dt><dd>\n\t<ul>\n\t <li>%s", $vend, $mod);
} else {
printf("</li>\n\t</ul>\n </dd>\n <dt>%s</dt><dd>\n\t<ul>\n\t <li>%s", $vend, $mod);
}
}
} else {
if ($vend eq $lastVend) {
printf(", %s", $mod);
} else {
if ($lastVend eq "") {
printf("%s: %s", $vend, $mod);
} else {
printf("\n%s: %s", $vend, $mod);
}
}
}
$lastVend = $vend;
}
if ($type eq "html") {
print("</li>\n\t</ul>\n </dd>\n</dl>");
}
close $fh;